首页  >  文章  >  后端开发  >  如何使用 Python Selenium 单击具有复杂 HTML 结构的按钮?

如何使用 Python Selenium 单击具有复杂 HTML 结构的按钮?

Patricia Arquette
Patricia Arquette原创
2024-10-22 15:58:03751浏览

How to Click Buttons with Complex HTML Structure Using Python Selenium?

Python Selenium:单击具有复杂 HTML 结构的按钮

在使用 Python Selenium 时,您正在寻找一种单击按钮的方法以下 HTML 结构:

<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>

尽管尝试使用各种 CSS 选择器,例如:

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()

您遇到了 NoSuchElementException。为了应对这一挑战,您对利用 HTML 元素的 onclick 属性的可能性很感兴趣。

解决方案在于您使用的 CSS 选择器。要成功单击按钮,您需要删除选择器中类之间的空格。这是更正后的版本:

driver.find_element_by_css_selector('.button.c_button.s_button').click()

通过删除类之间的空格,Selenium 将准确识别并单击所需的按钮。

以上是如何使用 Python Selenium 单击具有复杂 HTML 结构的按钮?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn