Maison  >  Article  >  développement back-end  >  Comment rechercher des éléments avec du texte spécifique dans Selenium WebDriver à l'aide de Python (insensible à la casse) ?

Comment rechercher des éléments avec du texte spécifique dans Selenium WebDriver à l'aide de Python (insensible à la casse) ?

Barbara Streisand
Barbara Streisandoriginal
2024-10-29 04:36:02452parcourir

How to Find Elements with Specific Text in Selenium WebDriver Using Python (Case-Insensitive)?

Identification des éléments avec un texte spécifique dans Selenium WebDriver (Python)

La localisation d'éléments avec un contenu textuel spécifique dans Selenium WebDriver peut poser des défis, en particulier lorsque traitant des interfaces JavaScript. Une approche courante consiste à utiliser des expressions XPath, mais elle peut présenter des limitations en matière de respect de la casse.

Pour surmonter ce problème, une expression XPath modifiée peut être utilisée :

<code class="python">driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")</code>

Cette expression recherche tous les éléments contenus dans le document qui contient le texte « Mon bouton », quelle que soit la casse.

Pour les situations où des éléments sont imbriqués dans d'autres éléments, tels que :

<code class="html"><div class="outer"><div class="inner">My Button</div></div></code>

il est important de s'assurer que la cible element est l’élément le plus interne contenant le texte souhaité. Pour cela, vous pouvez exclure les éléments qui sont parents d'autres éléments contenant le même texte :

<code class="python">elements = driver.find_elements_by_xpath("//*[contains(text(), 'My Button')]")
for element in elements:
    if element.find_element_by_xpath('.//*[contains(text(), 'My Button')]'):
        continue
    else:
        # Perform actions on the current element</code>

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