【问题标题】:Watir Webdriver - Changing proxy on google chromeWatir Webdriver - 在谷歌浏览器上更改代理
【发布时间】:2012-03-21 02:43:09
【问题描述】:

我正在尝试通过代理从 watir webdriver 访问网络。可以是 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"

启动 ChromeDriver 端口=53928 版本=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' 来自 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:infor' 来自 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:ininitialize' 来自 (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"

【问题讨论】:

    标签: google-chrome webdriver watir watir-webdriver


    【解决方案1】:

    从 chromedriver 2(检查 $ chromedriver -v)开始,我已经设法将命令行参数传递给 chrome/chromium。例如,使用 tor 作为代理:

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

    在任何 chrome 帮助文档中检查其他可能的参数,例如

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

    【讨论】:

      【解决方案2】:

      如果要使用SOCKS5代理,可以使用下面的开关

      --proxy-server=socks5://localhost:PORT
      

      【讨论】:

      • 你知道如何使用类似的开关授权代理吗?换句话说,添加一个用户并传递参数。链接到我页面上的问题。
      【解决方案3】:

      问题在于“开关”值需要是“字符串数组”而不仅仅是一个字符串。

      以下应该有效:

      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
      

      【讨论】:

        猜你喜欢
        • 2012-01-25
        • 2012-11-23
        • 2022-11-10
        • 2016-08-31
        • 2014-02-28
        • 2017-03-13
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多