Sélection d'éléments HTML dans des iframes imbriquées dans Selenium
Interagir avec des éléments dans des iframes imbriquées dans Selenium nécessite de passer à l'iframe appropriée avant de sélectionner la cible élément. Le focus Selenium par défaut reste sur la fenêtre supérieure, et sans passer explicitement à l'iframe souhaité, il n'est pas possible d'interagir avec les éléments qu'il contient.
Méthodes de changement de cadre
Pour passer à une iframe spécifique, Selenium propose trois options :
Exemple :
# 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()
Une meilleure approche :
Pour une meilleure gestion des transitions iframe, envisagez d'utiliser la classe WebDriverWait de Selenium avec le frame_to_be_available_and_switch_to_it() condition attendue. Cette condition attend que l'iframe cible soit disponible et y bascule automatiquement.
Exemple :
# 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()
Considérations supplémentaires
Référence :
Pour plus de détails et les discussions sur la gestion des iframes dans Selenium, reportez-vous à :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!