Maison >développement back-end >Tutoriel Python >Pourquoi WebDriverWait ne parvient-il pas à trouver des éléments dans une nouvelle fenêtre ?

Pourquoi WebDriverWait ne parvient-il pas à trouver des éléments dans une nouvelle fenêtre ?

Linda Hamilton
Linda Hamiltonoriginal
2024-12-26 10:57:09813parcourir

Why is WebDriverWait Failing to Find Elements in a New Window?

Écarts WebDriverWait : élément non détecté dans une nouvelle fenêtre

Dans les scénarios où une nouvelle fenêtre apparaît après l'exécution d'un événement de clic (c'est-à-dire "custom_cols") et les éléments à l'intérieur cette fenêtre ne parvient pas à être détectée malgré l'implémentation de WebDriverWait, même lorsqu'elle est visible, un examen attentif du code est nécessaire garanti.

Dans le code fourni, la méthode employée presence_of_element_located attend que l'élément apparaisse dans le DOM mais ne garantit pas sa visibilité ou sa cliquabilité. Pour remédier à cela, la méthode element_to_be_clickable doit être utilisée à la place. Cette méthode garantit que l'élément est non seulement présent mais également visible, activé et interactif.

try:
    myElem = WebDriverWait(self.browser, delay).until(EC.element_to_be_clickable((By.XPATH , xpath)))

Clarification supplémentaire :

Les trois attentes WebDriver couramment utilisées pour visibilité de l'élément :

  • presence_of_element_located : Vérifie si l'élément existe dans le DOM.
  • visibility_of_element_located : Garantit que l'élément est visible, ayant une hauteur et une largeur supérieures à 0.
  • element_to_be_clickable : Vérifie que l'élément est visible, activé et prêt à cliquer.

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!

Déclaration:
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