selenium,重叠输入的隐藏按钮(不可点击)

时间:2018-01-22 19:53:44

标签: selenium cucumber watir

是否有任何关于如何通过重叠输入文本字段单击隐藏按钮的方法,例如,如果您访问www.google.com并输入要搜索的文本,则selenium无法找到"搜索谷歌"按钮,因为它被文本字段的自动完成隐藏。

感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用#click!代替#click来绕过验证。基本上,这会通过JavaScript触发点击,而不是通过标准的Selenium命令。

browser = Watir::Browser.new
browser.goto('www.google.com')
browser.text_field(name: 'q').set('watir')
browser.button(name: 'btnK').click!

如果您只使用Selenium,则可以执行以下操作:

btn = driver.find_element(name: 'btnK')
driver.execute_script('arguments[0].click();', btn)

正如评论中所讨论的,您还可以在尝试单击按钮之前关闭建议框。您可以通过将焦点移动到任何其他元素(例如页面上的第一个链接)来完成此操作。根据您正在测试的内容,这可能有也可能没有价值。

browser.text_field(name: 'q').set('watir')
browser.link.focus # move focus to any other element so suggestions close
browser.button(name: 'btnK').click