Selenium按钮单击

时间:2013-12-06 16:26:22

标签: java selenium

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

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

我也尝试使用classname定位该按钮,但我一直收到以下错误。

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

2 个答案:

答案 0 :(得分:2)

  

按钮是否需要处于某种形式才能对其执行点击操作?

没有。只要它可见,就没有任何东西可以在任何地方进行操作。

  

但我一直收到以下错误

那是因为你试图在那个按钮上调用submit()。如果它在一个表单中,这将起作用,但由于它不起作用,这就是你得到该错误的原因。

  

我还尝试使用classname

定位该按钮

你如何选择它是无关紧要的。除非有超过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()方法。

答案 1 :(得分:1)

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