2011-11-12 40 views
0

如何忽略Remote WebDriver for Chrome的證書?我嘗試運行此代碼:遠程WebDriver忽略Chrome的證書錯誤

#encoding: utf-8 
require 'selenium-webdriver' 
include Selenium 

capabilities = WebDriver::Remote::Capabilities.chrome(:native_events => true) 
driver = WebDriver.for(:remote, 
         :desired_capabilities => capabilities, 
         :url => "http://192.168.1.44:4444/wd/hub", 
         :switches => %w[--ignore-certificate-errors] 
         ) 
driver.navigate.to "https://trunk.plus1.oemtest.ru/" 
puts driver.title 
driver.close 

,並得到一個錯誤信息:

home/igor/.rvm/gems/[email protected]/gems/selenium-webdriver-2.12.0/lib/selenium/webdriver/remote/bridge.rb:51:in `initialize': unknown option: {:switches=>["--ignore-certificate-errors"]} (ArgumentError) 

回答

1

上述方法不受最新chromedriver不再支持。根據this doc chromeOptions應該用來代替:

caps = Selenium::WebDriver::Remote::Capabilities.chrome("chromeOptions" => {"args" => [ "--ignore-certificate-errors" ]}) 
driver = Selenium::WebDriver.for :remote, url: 'http://localhost:4444/wd/hub', desired_capabilities: caps 
1

這應該做的伎倆:

caps = Selenium::WebDriver::Remote::Capabilities.chrome 
caps['chrome.switches'] = %w[--ignore-certificate-errors] 

driver = Selenium::WebDriver.for(:remote, :desired_capabilities => caps)