当前位置: 首页 > 面试题库 >

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

松锐藻
2023-03-14
问题内容

我有一个按钮

<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

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

想法?


问题答案:

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

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

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


 类似资料:
  • 我用的是Spring。我有一个用户表。 当一个人登录系统时,他会向我发送他的凭证(即用户名和密码)。 我用增量生成的uid(即userid是主键)将我的用户存储在数据库中。 我还在数据库中存储了用户名、密码等信息。我需要做的是,当用户连接到Rest连接时,我需要检查数据库是否有这个用户。如果他存在,那么我需要检查密码是否匹配。我需要通过用户名而不是uid进行检查 我的程序中根本没有会话或任何东西(

  • 我想通过我提供的id从托管bean中找到一些。

  • 问题内容: 如何仅在文本输入字段上使用Enter键提交表单,而不必添加提交按钮? 我记得以前曾经这样做过,但是现在我对其进行了测试,除非表单中有一个Submit-type输入字段,否则表单不会提交。 问题答案: $(“input”).keypress(function(event) { if (event.which == 13) { event.preventDefault(); $(“form

  • 我有困难与提交按钮,它不是点击phantomJS相同的代码时运行在Selenium作品。有人有什么建议(Java)吗? 公务舱航班 {WebDriver driver;File File File=新文件(“C:/Program Files/phantomjs-2.1.1-windows/bin/phantomjs.exe”);@Test public void homePageFlightDet

  • 问题内容: 我需要使用ObjectIdHex获取值,并进行更新并查看结果。我正在使用mongodb和golang,但是下面的代码无法正常工作 没有为我工作,并给我以下输出 我该如何解决这个问题?我需要使用oid获得价值并进行更新,我该怎么做 问题答案: 应该不是: