Welches Element muss ich auswählen? (Python, Selenium)?
Hi, ich will einen Bot in Selenium machen, der auf der Seite "typewriter.at" den Text für mich schreibt. Jedoch weiß ich nicht, welches Element ich verwenden muss um den Text zu schreiben. Ich habe es mit dem XPath von "text_todo" versucht, dies klappt aber nicht.
1 Antwort
Viele der Elemente sind mit einer ID ausgestattet. Daher würde ich auch eher mit der find_element_by_id-Methode arbeiten.
Öffne am besten erst einmal ein leeres Sketch und analysiere mittels der Entwicklerkonsole, ob es von Anfang an schon ein Element mit der ID hud_text gibt. Wenn ja, wäre interessant, was mit ihm beim Schreiben genau passiert. Ob sich ein Element (oder ein Kindelement eines Elements) verändert, siehst du im Inspektor, nach Auslösen des Ereignisses. Es ist gut möglich, dass du für das Schreiben selbst HTML-Elemente anlegen und im DOM einhängen musst.
Änderungen am DOM kannst du mit JavaScript bewerkstelligen. Über die execute_script-Funktion lässt es sich ausführen.
driver.execute_script("your JavaScript code ...")
Eine Referenz zur DOM API findest du auf MDN. Am relevantesten werden Funktionen/Properties wie appendChild, createElement, getElementById, innerHTML, querySelector oder setAttribute sein.