Recherche d'éléments avec un texte spécifique dans Selenium WebDriver
Identifier des éléments en fonction de leur contenu textuel est une tâche courante dans les tests Web. Dans Selenium WebDriver (Python), diverses méthodes peuvent être utilisées à cet effet.
Une méthode consiste à utiliser la méthode find_elements_by_xpath avec une fonction contain() :
<code class="python">driver.find_elements_by_xpath('//div[contains(text(), "' + text + '")]')</code>
Cette méthode peut trouver éléments qui contiennent le texte spécifié, mais il est sensible à la casse.
Vous pouvez également utiliser une expression XPath plus générale :
<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>
Cette expression recherche dans l'ensemble du document les éléments qui contiennent le texte spécifié, quelle que soit la casse.
Une autre approche consiste à parcourir tous les éléments de la page et à vérifier leur propriété element.text. Cependant, cela peut être lent et ne pas toujours donner des résultats précis.
Si vous rencontrez des éléments imbriqués où l'élément parent contient également le texte cible, vous pouvez utiliser la méthode element.get_element_by_xpath('..') pour vérifiez si l'élément parent est le parent direct de l'élément enfant.
Enfin, il convient de noter que les expressions XPath et les méthodes d'itération des éléments peuvent être optimisées pour les performances. Par exemple, l'utilisation d'attributs spécifiques dans l'expression XPath ou l'utilisation de sélecteurs CSS au lieu de XPath peut améliorer le temps d'exécution.
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!