Das Finden und Interagieren mit HTML-Elementen in Iframes kann in Selenium eine Herausforderung darstellen. Dieser Artikel befasst sich mit einem bestimmten Fall, bei dem sich die Standardmethode select_frame() als unzuverlässig erwies.
Die fragliche HTML-Struktur enthielt einen Iframe mit der ID „upload_file_frame“. Der ursprüngliche Python-Code versuchte, diesen Iframe mit dem folgenden Befehl zu finden:
if sel.select_frame("css=#upload_file_frame"): break
Diese Methode konnte den Iframe jedoch durchweg nicht zuverlässig auswählen.
Eine robustere Lösung wurde mit dem folgenden Befehl gefunden Vorgehensweise:
Wechseln Sie zum iframe:Verwenden Sie die Methode switch_to.frame() des WebDriver-Objekt:
driver.switch_to.frame(driver.find_element_by_tag_name("iframe"))
Elemente im Iframe suchen und mit ihnen interagieren: Verwenden Sie XPath oder andere Locators, um Elemente im Iframe zu finden und zu bearbeiten. Um beispielsweise Text an ein Eingabefeld zu senden:
elem = driver.find_element_by_xpath("/html/body/p") elem.send_keys("Lorem Ipsum")
Zurück zum Standardinhalt wechseln: Wechseln Sie nach der Interaktion mit dem Iframe zurück zu „ Standardinhalt“ mit der Methode switch_to.default_content():
driver.switch_to.default_content()
Verwenden Sie dies Durch den überarbeiteten Ansatz konnte der Iframe erfolgreich lokalisiert und darin enthaltene Elemente zuverlässig manipuliert werden.
Das obige ist der detaillierte Inhalt vonWie wähle ich mit Python zuverlässig einen Iframe in Selenium aus?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!