Eri*_*k B 5 selenium automation google-chrome webdriver-io puppeteer
打开外部应用程序?
https://webiste.com 想要打开此应用程序。
[x] 始终允许 website.com 在关联的应用程序中打开此类链接
[取消] [打开外部应用程序]
我正在尝试自动化使用外部应用程序的流程。Chrome 正在请求打开应用程序的权限(见上文),但我无法找到一种方法来自动与该对话框进行交互。
有人建议我可以通过将命令行参数传递给 Chrome 来禁用该对话框。我得到了这份清单,但它很大,而且我没有找到任何看起来有帮助的东西。
如果有人曾经成功地使用外部应用程序实现了自动化,请告诉我你是如何做到的。谢谢。
编辑:
这些是自动化框架用于启动 Chrome 的参数:
使用以下标志启动 Google Chrome: --enable-automation --disable-popup-blocking --disable-extensions --disable-background-networking --disable-background-timer-throtdling --disable-backgrounding-occlusion-windows --禁用同步 --metrics-recording-only --disable-default-apps --mute-audio --no-first-run --no-default-browser-check --disable-hang-monitor --disable-prompt -on-repost --禁用客户端网络钓鱼检测 --password-store=basic --use-mock-keychain --disable-component-extensions-with-background-pages --disable-breakpad --disable -dev-shm-usage --disable-ipc-flooding-protection --disable-renderer-backgrounding --force-fieldtrials=*BackgroundTracing/default/ --enable-features=NetworkService,NetworkServiceInProcess --disable-features=site-每个进程,TranslateUI,BlinkGenPropertyTrees --window-position=0,0 --window-size=1200,900
我可以轻松添加标志。不确定是否删除标志。
Eri*_*k B -1
这并不理想,但它是一个解决方法:
remote({
logLevel: 'trace',
capabilities: {
browserName: 'chrome',
'goog:chromeOptions': {
args: ['--user-data-dir=./profile']
}
}
})
Run Code Online (Sandbox Code Playgroud)
通过设置用户数据目录,您可以在第一次运行时手动授予始终允许权限,然后该权限将被保存并记住以供将来运行。我还没有检查是否可以将其提交到您的存储库,但这可能使它可以在任何其他系统上工作,而无需进行初始设置。
作为旁注,我发现 puppeteer 具有覆盖权限的能力,但没有提到打开外部应用程序。如果得到支持,我认为这将是理想的解决方案。
| 归档时间: |
|
| 查看次数: |
1243 次 |
| 最近记录: |