【问题标题】:Selenium Button ClickSelenium 按钮单击
【发布时间】:2013-12-24 02:15:13
【问题描述】:

按钮是否需要在表单中才能对其执行点击操作?我正在使用

driver.findElement(By.tagName("button")).submit();

我也尝试使用类名定位该按钮,但我不断收到以下错误。

元素不在表单中,因此无法提交 命令持续时间或超时:0 毫秒 有关此错误的文档,请访问:http://seleniumhq.org/exceptions/no_such_element.html

【问题讨论】:

  • 你应该可以使用driver.findElement(By.tagName("button")).click()

标签: java selenium


【解决方案1】:

按钮是否需要在表单中才能对其执行点击操作?

没有。只要它是可见的,就没有什么“必须”在任何地方对其进行操作。

但我不断收到以下错误

那是因为您试图在该按钮上调用submit()。如果它以某种形式存在,这将起作用,但既然不是,这就是您收到该错误的原因。

我还尝试使用类名定位该按钮

你如何选择它是无关紧要的。除非有超过 1 个 <button /> 元素,否则您很可能会找到正确的元素。一些替代方案是,

By.cssSelector('button[attr='attr']')
By.tagName('button') // this is assuming that it is the only button in the DOM.
By.className('someClass')

按照@Richard 提到的方法调用click() 方法而不是submit() 方法。

【讨论】:

    【解决方案2】:

    你应该可以使用driver.findElement(By.tagName("button")).click()

    【讨论】:

      猜你喜欢
      • 2013-05-07
      • 2021-05-04
      • 2021-03-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-07-28
      • 2021-09-03
      • 1970-01-01
      相关资源
      最近更新 更多