在没有id的selenium中找到提交按钮

时间:2016-02-21 01:07:10

标签: python 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

但是找不到提交选择器。

想法?

3 个答案:

答案 0 :(得分:14)

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

如果单独的课程是唯一的,您可以使用

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

如果class + value组合是唯一的,您可以使用:

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

答案 1 :(得分:1)

您可以尝试使用XPath表达式或CSS选择器(如输入[type =&#34; button&#34;])找到该元素,然后只需单击该元素。

答案 2 :(得分:1)

我建议使用xpath chrome扩展程序,通过它可以通过运行扩展程序并按住Shift键点击您想要此Chrome扩展程序的元素来获取路径https://chrome.google.com/webstore/detail/xpath-helper/hgimnogjllphhhkhlmebbmlgjoejdpjl enter image description here