Brauche Hilfe. bei diesem Python Programm ich möchte das aus einer Textdatei Wörter zufällig ausgewählt werden und dann in einem Browser auf einer website eingefügt werden und dann ein Button auf der Seite gedrückt wird und falls es falsch ist die Wörter löscht und wieder von vorne anfängt.
from lib2to3.pgen2 import driver
import random
import time
from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.by import By # Neu: By importieren
# Funktion zum Einlesen der Wörter aus einer Textdatei und zufällige Auswahl von 6 Wörtern
def get_random_words_from_file(file_path, num_words=6):
with open(file_path, 'r', encoding='utf-8') as f:
words = f.read().splitlines()
return random.sample(words, num_words)
# Funktion zur Automatisierung des Browsers
def automate_browser(word_list, url, textfield_selector, button_selector, result_selector):
# WebDriver für Chrome starten mit dem Service-Objekt
service = Service('/usr/local/bin/chromedriver') # Pfad zum chromedriver anpassen
driver = webdriver.Chrome(service=service)
try:
# Webseite aufrufen
driver.get(url)
while True:
# Wörter in das Textfeld eingeben
textfield = driver.find_element(By.CSS_SELECTOR, textfield_selector).text # Neue Methode verwenden
textfield.clear() # Textfeld leeren
textfield.send_keys(' '.join(word_list)) # Wörter einfügen
# Button klicken
button = driver.find_element(By.CSS_SELECTOR, button_selector) # Neue Methode verwenden
button.click()
# Kurze Pause, um auf die Reaktion der Seite zu warten
time.sleep(2)
# Ergebnis überprüfen
result = driver.find_element(By.CSS_SELECTOR, result_selector) # Neue Methode verwenden
if "korrekt" in result.lower():
print("Eingabe war korrekt!")
break
else:
print("Eingabe war falsch, versuche erneut...")
# Neue Wörter auswählen
word_list = get_random_words_from_file("words.txt")
textfield.clear()
time.sleep(1)
finally:
pass
# Beispielhafte Verwendung:
if __name__ == "__main__":
# Pfad zur Datei mit den Wörtern
file_path = '/usr/local/bin/words.txt'
# URL der Webseite mit dem Textfeld und Button
url = 'URL einfügen'
# CSS-Selektoren für das Textfeld, den Button und das Ergebnisfeld
textfield_selector = '#input1' # Korrekter CSS-Selektor eingeben
button_selector = '#onboarding-form-submit-button' # Korrekter CSS-Selektor eingeben
result_selector = '#onboarding-form-submit-button' # Korrekter CSS-Selektor eingeben
# 12 zufällige Wörter aus der Datei auswählen
word_list = get_random_words_from_file(file_path)
# Automatisierung starten
automate_browser(word_list, url, textfield_selector, button_selector, result_selector)
driver.quit()