Maison > développement back-end > Tutoriel Python > Comment attendre de manière fiable que les éléments soient présents, visibles et cliquables dans Selenium ?

Comment attendre de manière fiable que les éléments soient présents, visibles et cliquables dans Selenium ?

Linda Hamilton
Libérer: 2024-12-21 05:19:10
original
976 Les gens l'ont consulté

How to Reliably Wait for Elements to Be Present, Visible, and Clickable in Selenium?

Attendre qu'un élément soit présent, visible et interagissable avec Selenium

Dans Selenium, il est souvent nécessaire d'attendre qu'un élément apparaisse avant d'interagir avec lui. Utiliser sleep() pour attendre n'est pas fiable, car le temps d'apparition de l'élément peut varier. Au lieu de cela, vous devez exploiter WebDriverWait et les conditions attendues.

En attente de la présence d'un élément

Pour vérifier la présence d'un élément sur le DOM, définissez les conditions_attendues sur présence_of_element_located(). Cela ne nécessite pas que l'élément soit visible. Par exemple :

WebDriverWait(browser, 20).until(EC.presence_of_element_located((By.CSS_SELECTOR, ".reply-button"))).click()
Copier après la connexion

En attente de la visibilité d'un élément

Pour extraire un attribut d'un élément, utilisez visibilité_of_element_located(). Cela garantit que l'élément est visible et a des dimensions non nulles.

email = WebDriverWait(driver, 20).until(EC.visibility_of_element_located((By.CSS_SELECTOR, ".anonemail"))).get_attribute("value")
Copier après la connexion

En attente de la cliquabilité de l'élément

Pour cliquer sur un élément, définissez Expected_conditions sur element_to_be_clickable() . Cela vérifie si l'élément est visible et activé pour l'interaction.

WebDriverWait(browser, 20).until(EC.element_to_be_clickable((By.CSS_SELECTOR, ".reply-button"))).click()
Copier après la connexion

Références supplémentaires

Pour plus d'informations, reportez-vous aux ressources suivantes :

  • [WebDriverWait ne fonctionne pas comme attendu](https://github.com/SeleniumHQ/selenium-google-code-issue-archive/issues/4395)
  • [Selenium : vérifier la présence d'un élément](https://www. guru99.com/verify-element-present-selenium.html)

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal