我正在 webdriver.io 上使用 selenium独立服务器和最新 Google Chrome驱动程序在 node.js 上编写验收测试
我需要检查Flash元素是否可点击,但浏览器会向我显示“重新启动Chrome以启用Adobe Flash Player”。
我看到article显示了如何让Chrome驱动程序在本地计算机上查看自定义配置文件,但我无法理解如何在我的独立服务器上使用它,因为它很差{{3}用于配置。 你能解释为webdriver.io中的selenium独立服务器启用Adobe Flash播放器的正确方法吗?
答案 0 :(得分:2)
我发现以下方法可行:
browserName: 'chrome',
'goog:chromeOptions' : {
args: ['enable-features=RunAllFlashInAllowMode',
'disable-features=EnableEphemeralFlashPermission'],
prefs: {
"profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player": 1,
'PluginsAllowedForUrls': '/route/to/site.com'
}
}
使用临时模式将创建一个临时配置文件,使首选项生效:
https://developer.chrome.com/extensions/contentSettings https://support.google.com/chrome/a/answer/3538894?hl=en
'goog:chromeOptions'自硒3.8开始引入github.com/elgalu/docker-selenium/issues/201 –
您可以打开一个JSON Blob配置文件,并查看在profile.content_settings.exceptions.plugins和profile.content_settings.exceptions.flash_data添加的站点。
答案 1 :(得分:0)
这很容易。您需要创建一个自定义配置文件,您将始终使用该配置文件加载Chrome。然后你就像手动配置浏览器一样。这意味着为Flash制作网站排除。加载一些扩展或任何你想要preconfig的东西。使用此代码,您可以这样做
{{1}}
此处还有chrome的所有命令行命令 this SO post
答案 2 :(得分:0)
另一种可行的方法。可以在chrome配置中允许执行flash插件 您需要在代码示例
中添加wdio.conf.js三个最后的首选项chromeOptions : {
args: chromeArgs,
prefs: {
"download.default_directory": process.env.PWD +'/download',
"profile.default_content_setting_values.plugins": 1,
"profile.content_settings.plugin_whitelist.adobe-flash-player": 1,
"profile.content_settings.exceptions.plugins.*,*.per_resource.adobe-flash-player": 1
}
}
我希望它会有所帮助