Watir Webdriver - Смена прокси в Google Chrome - PullRequest
3 голосов
/ 02 марта 2012

Я пытаюсь получить доступ к сети с веб-драйвера Watir через прокси. Может быть 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: в 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 ' от C: /Ruby193/lib/ruby/gems/1.9.1/gems/selenium-webdriver-2.20.0/lib/s elenium / webdriver / common / driver.rb: 37: в 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 для ' от 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 ' из (irb): 6: в new' from (irb):6 from C:/Ruby193/bin/irb:12:in '

эта строка дает мне ошибку

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

Какие-нибудь советы о том, как решить эту ошибку?

Edit:

вот окончательный код, который работал для меня:

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

Ответы [ 3 ]

5 голосов
/ 02 марта 2012

Проблема в том, что значение переключателей должно быть «массивом строк», а не просто строкой.

Должно работать следующее:

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
2 голосов
/ 14 марта 2014

Начиная с 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 голосов
/ 04 декабря 2012

Если вы хотите использовать прокси SOCKS5, вы можете использовать следующий ключ

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