Maison  >  Article  >  développement back-end  >  Comment cliquer sur des boutons complexes avec des structures HTML imbriquées à l'aide de Python Selenium ?

Comment cliquer sur des boutons complexes avec des structures HTML imbriquées à l'aide de Python Selenium ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-22 12:47:14920parcourir

How to Click Complex Buttons with Nested HTML Structures Using Python Selenium?

Python Selenium : Cliquer sur des boutons complexes

Défi : Cliquez sur des boutons avec des structures HTML complexes dans Python Selenium

Question :

Un utilisateur a rencontré des difficultés pour localiser et cliquer sur des boutons avec la structure HTML suivante :

<code class="html"><div class="b_div">
    <div class="button c_button s_button" onclick="submitForm('mTF')">
        <input class="very_small" type="button">
        <div class="s_image"></div>
        <span>Search</span>
    </div>
    <div class="button c_button s_button" onclick="submitForm('rMTF')" style="margin-bottom: 30px;">
        <input class="v_small" type="button">
        <span>Reset</span>
    </div>
</div></code>

Tentatives de solutions :

L'utilisateur a essayé d'utiliser divers sélecteurs Selenium, tels que :

  • driver.find_element_by_css_selector('.button .c_button .s_button').click()
  • driver.find_element_by_name('s_image' .click()
  • driver.find_element_by_class_name('s_image').click()

Cependant, ils ont reçu des erreurs NoSuchElementException.

Solution :

Pour résoudre le problème, l'utilisateur devait supprimer les espaces entre les noms de classe dans le sélecteur CSS. Les bons sélecteurs sont :

<code class="python">driver.find_element_by_css_selector('.button.c_button.s_button').click()</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