Auswählen von HTML-Elementen in verschachtelten Iframes in Selenium
Die Interaktion mit Elementen in verschachtelten Iframes in Selenium erfordert den Wechsel zum entsprechenden Iframe, bevor das Ziel ausgewählt wird Element. Der standardmäßige Selenium-Fokus bleibt auf dem oberen Fenster und ohne explizites Wechseln zum gewünschten Iframe ist es nicht möglich, mit darin enthaltenen Elementen zu interagieren.
Frame-Switching-Methoden
Um zu einem bestimmten Iframe zu wechseln, bietet Selenium drei Optionen:
Beispiel:
# Switch to an iframe by its name driver.switch_to.frame("iframe_name") # Select an element within the iframe element = driver.find_element_by_css_selector(".element_selector") # Switch back to the main frame driver.switch_to.default_content()
Ein besserer Ansatz:
Für eine verbesserte Handhabung von Iframe-Übergängen, Erwägen Sie die Verwendung der WebDriverWait-Klasse von Selenium mit dem frame_to_be_available_and_switch_to_it() erwarteter Zustand. Diese Bedingung wartet darauf, dass der Ziel-Iframe verfügbar wird, und wechselt automatisch zu ihm.
Beispiel:
# Wait for the iframe with the specified ID to become available and switch to it WebDriverWait(driver, 10).until(EC.frame_to_be_available_and_switch_to_it((By.ID, "iframe_id"))) # Select an element within the iframe element = driver.find_element_by_css_selector(".element_selector") # Switch back to the main frame driver.switch_to.default_content()
Zusätzliche Überlegungen
Referenz:
Weitere Details und Diskussionen zum Iframe-Handling in Selenium finden Sie unter:
Das obige ist der detaillierte Inhalt vonWie kann ich mit Selenium HTML-Elemente in verschachtelten Iframes auswählen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!