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中文网其他相关文章!