使用 Watir 时如何保存 Chrome 的设置?
How to save Chrome's settings when using Watir?
Chrome 正在打断流程并询问我(用户)是否要允许当前站点发送桌面通知。我尝试在 Chrome 的高级设置页面中更改此设置,但每次 Watir 实例化一个新的浏览器实例时,所有设置都恢复为默认设置。
与其处理代码来处理此类事情,我更愿意使用我指定的设置生成一个实例,但我找不到如何执行此操作。
非常感谢任何对此的帮助或见解。
Watir Webdriver 0.9.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 web-driver 没有这个功能
您可以为您的配置文件夹解析 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 首选项结构可以更改且不在文档中描述)
上面的方法有效,但我发现有时配置文件设置并不总是有效。另一种方法是使用 chrome 的命令行开关。
您可以像这样添加它们:
b = Watir::Browser.new :chrome, :switches => %w[--disable-notifications]
可以在此处找到所有命令行开关的完整列表。 http://peter.sh/experiments/chromium-command-line-switches/
注意:并非所有这些开关都适用于当前版本的 chrome。
Chrome 正在打断流程并询问我(用户)是否要允许当前站点发送桌面通知。我尝试在 Chrome 的高级设置页面中更改此设置,但每次 Watir 实例化一个新的浏览器实例时,所有设置都恢复为默认设置。
与其处理代码来处理此类事情,我更愿意使用我指定的设置生成一个实例,但我找不到如何执行此操作。
非常感谢任何对此的帮助或见解。
Watir Webdriver 0.9.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 web-driver 没有这个功能 您可以为您的配置文件夹解析 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 首选项结构可以更改且不在文档中描述)
上面的方法有效,但我发现有时配置文件设置并不总是有效。另一种方法是使用 chrome 的命令行开关。
您可以像这样添加它们:
b = Watir::Browser.new :chrome, :switches => %w[--disable-notifications]
可以在此处找到所有命令行开关的完整列表。 http://peter.sh/experiments/chromium-command-line-switches/
注意:并非所有这些开关都适用于当前版本的 chrome。