GOOGLE ADS

Donnerstag, 21. April 2022

Selenium 3.141.0 - send_keys() funktioniert gut unter Windows, aber nicht unter Linux Debian 11

Ich versuche, mit Selenium etwas Web-Automatisierung zu machen.

Mein Programm hat gut funktioniert, bis ich meine Pakete aktualisiere - Jetzt send_keys()funktioniert es nicht mehr unter Linux, aber unter Windows mit denselben Versionen.

Ich habe versucht, 1 click(), 2 clear(), 3 send_keys()- Kopieren / Einfügen usw....

Aber keines davon macht die Javascript-Eingabe und speichert meine send_keys(string). Es sendet die Schlüssel, aber nachdem er zur nächsten Aktion übergegangen ist, ist die Zeichenfolge verschwunden... Und es gibt weder in der Konsole noch in den Protokollen einen Fehler.

Ich habe es auch mit Selenium 4.1.3 versucht, aber es ändert nichts...

Es funktioniert perfekt unter Windows mit/ohne Headless, aber es funktioniert nicht mehr unter Debian 11 Rolling nach einem Update...

Bitte geben Sie mir einen Hinweis, es ist sehr wichtig!!

Selen-Version 3.141.0

Chrome-Version 100.0.4896.88-1

Python-Version 3.9.12

Kernel-Version 5.16.0


Lösung des Problems

Rufen Sie nicht einfach find_element() auf send_keys(string).

Idealerweise müssen Sie WebDriverWait für element_to_be_clickable() induzieren und Sie können eine der folgenden Lösungen verwenden:

element = WebDriverWait(driver, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, "element_css")))
element.click()
element.clear()
element.send_keys("HSMKU")

Keine Kommentare:

Kommentar veröffentlichen

Warum werden SCHED_FIFO-Threads derselben physischen CPU zugewiesen, obwohl CPUs im Leerlauf verfügbar sind?

Lösung des Problems Wenn ich das richtig verstehe, versuchen Sie, SCHED_FIFO mit aktiviertem Hyperthreading ("HT") zu verwenden, ...