它一直工作到今天,没有代码改变 所以,如果我做了像
这样的事情 page.find('#edit-user').native.send_keys(:tab, :tab)
它不起作用(它突出显示元素#edit-user但不向前移动)专门用于tab键,它正常工作:space或:enter。
之前有效,它与Chrome浏览器的某些设置更改有关,但不确定具体方式和原因
答案 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更新来恢复行为。