Maison  >  Article  >  développement back-end  >  Comment éviter les problèmes de sélection lorsque vous cliquez sur des boutons avec Selenium en Python ?

Comment éviter les problèmes de sélection lorsque vous cliquez sur des boutons avec Selenium en Python ?

Patricia Arquette
Patricia Arquetteoriginal
2024-10-22 14:43:03171parcourir

How to Avoid Selector Issues When Clicking Buttons with Selenium in Python?

Cliquer sur des boutons avec Selenium en Python

Lorsque vous tentez d'automatiser les clics sur des boutons à l'aide de Selenium en Python, il est crucial de garantir une identification précise des éléments. Dans la structure HTML fournie, il existe deux boutons avec des noms de classe similaires. Pour cibler efficacement ces éléments, il est essentiel de spécifier correctement le sélecteur CSS.

Un problème potentiel dans vos tentatives peut être l'espace entre les noms de classe dans le sélecteur :

<code class="python">driver.find_element_by_css_selector('.button .c_button .s_button').click()</code>

Ce sélecteur spécifie noms de classes individuels séparés par des espaces, qui peuvent ne pas correspondre exactement à la structure HTML.

Solution : Supprimez l'espace entre les noms de classes dans le sélecteur CSS :

<code class="python">driver.find_element_by_css_selector('.button.c_button.s_button').click()</code>

Dans ce sélecteur modifié, les classes sont concaténées sans séparation, garantissant une correspondance précise avec l'attribut class de l'élément HTML.

Exemple :

<code class="python"># Click the "Search" button
search_button = driver.find_element_by_css_selector('.button.c_button.s_button[onclick="submitForm(\'mTF\')"]')
search_button.click()

# Click the "Reset" button
reset_button = driver.find_element_by_css_selector('.button.c_button.s_button[onclick="submitForm(\'rMTF\')"]')
reset_button.click()</code>

En utilisant le CSS modifié sélecteur, vous pouvez identifier précisément et cliquer sur les boutons souhaités, qu'il s'agisse de "Rechercher" ou de "Réinitialiser".

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