use*_*898 4 google-chrome webdriver watir watir-webdriver
我正试图通过代理从watir webdriver访问web.可以是HTTP或SOCKS
到目前为止,这是我的代码.我找到了样本(最后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"
Run Code Online (Sandbox Code Playgroud)
已启动ChromeDriver port = 53928 version = 18.0.1022.0 log = C:\ Users\Raimis\chromedriver.log ArgumentError :: args必须是来自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:ininitialize'from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20. 0/lib/s elenium/webdriver/common/driver.rb:37:innew' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium/webdriver/common/driver.rb:37:infor'from C:/Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium /webdriver.rb:61:infor' from C:/Ruby193/lib/ruby/gems/1.9.1/gems/watir-webdriver-0.5.3/lib/watir -webdriver/browser.rb:35:ininitialize'from(irb):6:innew' from (irb):6 from C:/Ruby193/bin/irb:12:in'
这条线给了我错误
browser = Watir::Browser.new :chrome, :switches => switches
Run Code Online (Sandbox Code Playgroud)
有关如何解决此错误的任何提示?
编辑:
这是最终的代码,对我有用:
irb
require "watir-webdriver"
browser = Watir::Browser.new :chrome, :switches => ['--proxy-server=88.12.44.205:3128']
browser.goto "http://ipaddresslocation.org"
Run Code Online (Sandbox Code Playgroud)
问题是'开关'值需要是'字符串数组'而不仅仅是字符串.
以下应该有效:
browser = Watir::Browser.new :chrome, :switches => ['--proxy-server=88.12.44.205:3128']
Run Code Online (Sandbox Code Playgroud)
或者,如果您有很多选项要设置,那么您可能会这样做:
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
Run Code Online (Sandbox Code Playgroud)