如何配置 'watir' 以使用现有的 chrome 用户配置文件(使用 chrome.exe --user-data-dir 创建)

How to configure 'watir' to use an existing chrome user profile (created with chrome.exe --user-data-dir)

是否可以使用现有的 chrome user/profile

配置 watir webdriver

(由 chrome.exe 创建 --user-data-dir=C:\MyChromeUserProfile)

Firefox 中可以执行以下操作:
使用 firefox -P 创建了用户配置文件)
profile = Selenium::WebDriver::Firefox::Profile.new(c://MyFFUserProfile) Watir::Browser.new :ff, :profile => profile

对于Chrome,我试了下面的代码没有用:
Watir::Browser.new :chrome, :switches => %w['--user-data-dir=c://MyChromeUserProfile']

虽然这会打开一个 chrome 会话,但它不会使用用户的配置文件设置(特别是已安装和配置的扩展,例如用于 HTTP 基本身份验证的多通道 ).

顺便说一下,这是一个类似的解决方法,但对于 chrome,我正在尝试实施,就像在 http://watirwebdriver.com/basic-browser-authentication/)

上发布的针对 Firefox 和自动身份验证列出的解决方法一样

问这个问题已经有一段时间了,但它是排名最高的 Google 结果,所以我将在这里使用最新版本的 Watir (6.0.2) 和 Webdriver (3.0.0) 来回答这个问题。 1).这适用于 Mac 和 Windows:

require 'watir'

switches = %W[--user-data-dir=c:\chrome]
# switches = %W[--user-data-dir=/chrome]  => Linux or Mac


prefs = {
  :download => {
    :prompt_for_download => false,
    :default_directory => "c:\downloads"
  }
}

browser = Watir::Browser.new :chrome, :prefs => prefs, switches: switches

browser.goto 'google.com'
browser.text_field(title: 'Search').set 'Hello World!'
browser.button(type: 'submit').click

sleep 10
puts browser.title
browser.close