ruby-on-rails - 如何在 ruby for chrome 浏览器中执行 ctrl+j。我正在使用 RubyMine 和 WatirWebdriver
问题描述
尝试下面的代码单击 ctrl+J 但不适用于 chrome 浏览器。@browser.driver.action.key_down(:control).send_keys("j").key_up(:control).perform 也试过@browser.driver.action.send_keys(:control,"J").perform
我在一篇博客中读到,上面的代码适用于 Firefox 浏览器,但不适用于 Chrome。
解决方案
首先,
你发送的方式control+j
不对。发送的方式是,你必须在likecontrol+j
里面给control+k[]
[:control,"j]
b.send_keys([:control,"j"])
第二关,
[:control,"j]
由于以下问题,无法通过 chromedriver 发送
https://bugs.chromium.org/p/chromedriver/issues/detail?id=903
确切的答案在这里
This is a limitation in the way we simulate keyboard input in ChromeDriver. Keys get sent directly to the render process, bypassing the browser process. So any keyboard shortcut handlers in the browser process will not be invoked by sendKeys().
推荐阅读
- python - 如何在 Flask 中运行 vpython 程序
- amazon-web-services - 将 Lambda 与本地文件服务器一起使用(避免使用 Amazon S3)
- javascript - 如何使用 React 在 javascript 上的事件函数中传递数组?
- amazon-web-services - 应用程序负载均衡器是否将路径转发到目标组
- flutter - Flutter中与屏幕高度相同的GridView
- list - Flutter 列表视图导航到类别
- python-3.x - 从其他文件导入一个类,而不必导入主文件具有的模块
- javascript - 如何建立一个可以显示图像二进制代码的网站?
- progressive-web-apps - 具有动态 URL 的渐进式 Web 应用程序的范围
- django - Django // 版本更新后所有请求上的 Daphne 500 错误“TypeError:object HttpResponse 不能用于 'await' 表达式”