【问题标题】:How to configure 'watir' to use an existing chrome user profile (created with chrome.exe --user-data-dir)如何配置“watir”以使用现有的 chrome 用户配置文件(使用 chrome.exe --user-data-dir 创建)
【发布时间】:2016-11-16 09:47:58
【问题描述】:

是否可以使用现有的 chrome 用户/配置文件配置 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 基本身份验证的 Multi-pass)。

顺便说一下,这是一个类似的解决方法,但对于我正在尝试实现的 chrome,就像在 http://watirwebdriver.com/basic-browser-authentication/ 上发布的 Firefox 和自动身份验证一样)

【问题讨论】:

    标签: google-chrome webdriver watir multipass


    【解决方案1】:

    这个问题已经有一段时间了,但它是谷歌排名最高的结果,所以我将在这里用 Watir (6.0.2) 和 Webdriver (3.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
    

    【讨论】:

    猜你喜欢
    • 2018-11-11
    • 1970-01-01
    • 2020-08-28
    • 2018-12-14
    • 2013-07-04
    • 1970-01-01
    • 2010-11-13
    相关资源
    最近更新 更多