Selenium Ruby :tab 在 运行 测试时停止工作

Selenium Ruby :tab stopped working when running test

今天一直有效,没有更改代码 所以如果我做类似

page.find('#edit-user').native.send_keys(:tab, :tab) 它不工作(它突出显示元素#edit-user 但不前进)专门针对 tab 键,它对 :space 或 :enter.[=13 正常工作=]

它以前是有效的,它与 Chrome 浏览器的某些设置更改有关的可能性很小,但不确定确切的方式和原因

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

我尝试使用“\t”、:tab、:return、:enter 和 :escape 从文本输入中移除焦点(找到符号 here),但是 none 他们正在使用最新版本的 Chrome。

我知道你提到你不是在寻找选项卡以外的解决方案,而是回滚你的浏览器版本和禁用更新,或者等待 Google 本身修复的可能性,你将有更改正在执行的脚本。

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

如果您的情况下所需的行为是将焦点向前移动两个字段,那么您可以考虑另一个 Javascript 解决方案,它看起来类似于此线程中讨论的内容: simulate the tab key function in javascript

当然,这可能不是最好的长期解决方案,因为即使是一些非常快速的谷歌搜索也显示发送 Tab 键来切换焦点已被多次推荐给使用 WebDriver 的人。因此,我祈祷会有另一个 Chrome 更新来恢复该行为。