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