按钮是否需要在表单中才能对其执行单击操作?我正在使用
driver.findElement(By.tagName("button")).submit();
我也尝试使用classname定位该按钮,但我一直收到以下错误。
元素不是一种形式,因此无法提交 命令持续时间或超时:0毫秒 有关此错误的文档,请访问:http://seleniumhq.org/exceptions/no_such_element.html
答案 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()