Selenium Ruby:选项卡在运行测试时停止工作

时间:2015-07-22 23:11:38

标签: ruby selenium capybara

它一直工作到今天,没有代码改变 所以,如果我做了像

这样的事情

page.find('#edit-user').native.send_keys(:tab, :tab)它不起作用(它突出显示元素#edit-user但不向前移动)专门用于tab键,它正常工作:space或:enter。

之前有效,它与Chrome浏览器的某些设置更改有关,但不确定具体方式和原因

1 个答案:

答案 0 :(得分:0)

我们在Chrome中也遇到了这个问题,这一切都始于Chrome更新44。

我尝试使用“\ t”,:tab,:return,:enter和:escape来从文本输入中删除焦点(找到符号here),但它们都没有在最近工作Chrome版本。

我知道你提到你不是在寻找除了标签以外的解决方案,但是如果没有回滚你的浏览器版本和禁用更新,或者等待谷歌本身修复的可能性,你将不得不改变正在执行的脚本

我们发现到目前为止效果很好:     driver.execute_script( “document.activeElement.blur()”)

如果您的案例中所需的行为是将两个字段向前转移,那么您可能会考虑另一个类似于此线程中讨论的Javascript解决方案: simulate the tab key function in javascript

当然,这可能不是最好的长期解决方案,因为即使是一些非常快速的Google搜索显示,向使用WebDriver的用户推荐了多次发送切换键以切换焦点。因此,我保持手指交叉,将有另一个Chrome更新来恢复行为。