Maison > développement back-end > Tutoriel Python > 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
Libérer: 2024-10-22 12:47:14
original
1072 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal