2012-03-02 59 views
3

我试图通过代理从watir webdriver访问web。可以是HTTP或SOCKSWatir Webdriver - 更改谷歌浏览器上的代理

这是我的代码到目前为止。我发现样品(最后3行),但它给我的错误:

irb 

require "watir-webdriver" 
browser = Watir::Browser.new :chrome 

switches = '--proxy-server=88.12.44.205:3128' 
browser = Watir::Browser.new :chrome, :switches => switches 
browser.goto "http://ipaddresslocation.org" 

Started ChromeDriver port=53928 version=18.0.1022.0 log=C:\Users\Raimis\chromedriver.log ArgumentError: :args must be an Array of Strings from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver/chrome/bridge.rb:71:in create_capabilities' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver/chrome/bridge.rb:20:in initialize' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver/common/driver.rb:37:in new' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver/common/driver.rb:37:in for' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver.rb:61:in for' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.5.3/lib/watir -webdriver/browser.rb:35:in initialize' from (irb):6:in new' from (irb):6 from C:/Ruby193/bin/irb:12:in '

此行给我的错误

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

关于如何解决此错误的任何提示?

编辑:

这里是为我工作的最终代码:

irb 
require "watir-webdriver" 
browser = Watir::Browser.new :chrome, :switches => ['--proxy-server=88.12.44.205:3128'] 
browser.goto "http://ipaddresslocation.org" 

回答

4

的问题是,“开关”的值必须是一个“字符串数组”,而不是只是一个字符串。

下面应该工作:

browser = Watir::Browser.new :chrome, :switches => ['--proxy-server=88.12.44.205:3128'] 

或者,如果你有很多的选项来设置,那么你可以做:

switches = Array.new 
switches << '--proxy-server=88.12.44.205:3128' 
#Add other switches values to the array 
browser = Watir::Browser.new :chrome, :switches => switches 
+0

谢谢!这有助于 – user1237898 2012-03-02 19:11:07

2

从chromedriver 2(检查$ chromedriver -v)我设法通过命令行argume nts到铬/铬。例如,使用Tor作为代理:

args = ['--start-maximized', '--proxy-server=socks://127.0.0.1:9050'] 
browser = Watir::Browser.new :chrome, :args => args 

检查其他可能的参数的任何浏览器帮助文档中像

http://peter.sh/experiments/chromium-command-line-switches/