javascript - 让浏览器专注于并行执行 selenium
问题描述
我们能否确保在 selenium 的并行执行中将一个特定的浏览器会话带到前面/焦点?我需要通过按 enter 键来执行键盘操作,使用机器人类来处理 chrome 中的谷歌支付选项。只有当浏览器处于焦点/前端时,机器人键操作才有效。
试过((JavascriptExecutor) driver).executeScript("window.focus();");
但没有效果。
此外,尝试使用sikuli
sikuli 也有同样的问题,因为它还需要浏览器成为焦点。
不打算使用 Autoit 的替代方案,因为我们的项目需要在 Windows 和 MAC 上运行。
非常感谢您的帮助。
解决方案
您可以发送键(Alt + Tab)切换到浏览器的当前会话,因为它只是焦点窗口,然后移动到不被关注的状态。这是Java中的代码示例
Actions action = new Actions(driver);
action.sendKeys(Keys.chord(Keys.ALT, Keys.ENTER)).build().perform();
推荐阅读
- dagger-2 - Dagger 2 中的错误:无法解析组件类/组件类没有代码生成
- java - Http 请求延迟到其他微服务
- c# - 以下一代格式提供图像,在不更改旧链接的情况下替换图像
- r - autoarfima 使用 R 中的 rugarch 包选择 arfima 模型的参数
- kubernetes - 从文件中删除特定类型除外:kubectl delete -{not}l type=volume -f file.yml
- android - Android WebView:使用 Flutter 加载网页构建的最佳设置
- python - 当比较明显为真时,if 语句将比较识别为假
- linux - Laravel:新创建的日志文件存在所有权问题
- sql - 如何使 Google BQ 合并声明起作用?
- json - 如何解码带有扩展名的 JSON 嵌套字典数组:可解码?