一尘不染

在没有ID的selenium中查找提交按钮

selenium

我有一个按钮

<input type="submit" class="button button_main" style="margin-left: 1.5rem;" value="something">

我无法通过ID或名称找到它,需要提交表格。

我尝试这样做:或者,WebDriver在每个元素上都有便捷的方法“提交”。如果在表单中的元素上调用此方法,则WebDriver将在DOM上移动,直到找到封闭的表单,然后在该表单上调用Submit。如果元素不是表单,则将引发NoSuchElementException:element.submit()
http://selenium-python.readthedocs.org/navigating.html

但这也找不到提交选择器。

想法?


阅读 640

收藏
2020-06-26

共1个答案

一尘不染

这里有很多选项,仅举几例:

如果仅课堂是唯一的,则可以使用

driver.find_element_by_css_selector(".button_main").click()

如果类+值组合是唯一的,则可以使用:

driver.find_element_by_css_selector(".button_main[value='something']").click()

您也可以使用xpath:

driver.find_element_by_xpath("//input[@type='submit' and @value='something']").click()

如果这些都不起作用(即它们不能唯一地标识按钮),请查看按钮上方的元素(例如<form),并以以下格式提供xpath:

driver.find_element_by_xpath("//unique_parent//input[@type="submit" and @value='something']").click()
2020-06-26