Chrome正在中断流程并询问我(用户)是否希望允许当前网站发送桌面通知。我已尝试在Chrome的“高级设置”页面中更改此设置,但每次Watir实例化新的浏览器实例时,所有设置都将恢复为默认设置。
我没有处理代码来处理这类事情,而是更喜欢用我指定的设置生成一个实例,但我找不到如何做到这一点。
非常感谢您对此的任何帮助或见解。
Watir Webdriver 0.9.1
答案 0 :(得分:3)
上述工作但我发现有时候不会总是选择配置文件设置。另一种方法是使用chrome的命令行开关。
您可以像这样添加它们:
b = Watir::Browser.new :chrome, :switches => %w[--disable-notifications]
可在此处找到所有命令行开关的完整列表。 http://peter.sh/experiments/chromium-command-line-switches/
要注意:并非所有这些开关都可以使用当前版本的chrome。
答案 1 :(得分:1)
在临时目录中运行Watir测试时,使用默认设置创建新的空配置文件
/tmp/.com.google.Chrome.couple_random_characters/Default
Firefox的网络驱动程序可以使用您的个人资料:
require 'watir-webdriver'
default_profile = Selenium::WebDriver::Firefox::Profile.from_name "default"
browser = Watir::Browser.new :firefox, :profile => default_profile
Chrome网络驱动程序没有此功能 您可以为您的配置文件夹解析Chrome首选项文件 (https://www.chromium.org/user-experience/user-data-directory)
在Linux路径中的首选项文件:
/home/your_name/.config/google-chrome/Default/Preferences
require 'watir-webdriver'
prefs_hash = {
#chrome preference what you need
#for example:
'profile' => {
'default_content_setting_values' => {'automatic_downloads' => 1}
}
}
browser = Watir::Browser.new :chrome, :prefs => prefs_hash
(... chrome首选项结构可以更改,不在文档中描述)