2

我喜欢 watir webdriver 并想使用它 :)

也喜欢 webdriver-user-agent

和 browsermob 代理

事情才从红宝石开始,我对将这三个一起运行感到困惑,代码是:

require 'watir-webdriver'
require 'webdriver-user-agent'
require 'browsermob/proxy'

server = BrowserMob::Proxy::Server.new("/home/ubuntu/ruby/browsermob-proxy")
server.start

proxy = server.create_proxy

browser = Watir::Browser.new Webdriver::UserAgent.driver(:browser => :chrome, :agent => :iphone, :orientation => :landscape)
browser.goto 'google.com'

那么如何将代理集成到浏览器中呢?

4

2 回答 2

1

如果服务器端口是 8080 那么你会做这样的事情

profile = Selenium::WebDriver::Firefox::Profile.new
profile.proxy = Selenium::WebDriver::Proxy.new :http => 'localhost:8080:, :ssl => 'localhost:8080'
b = Watir::Browser.new :chrome, :profile => profile
于 2014-01-09T02:50:13.650 回答
1

这些线上的东西应该起作用:

driver = Webdriver::UserAgent.driver(:browser => :chrome, :agent => :iphone, :orientation => :landscape)
browser = Watir::Browser.new driver, :switches => %w[--proxy-server=#{proxy.host}:#{proxy.port}]
browser.goto 'google.com'

由于您已经创建了代理,它的主机和端口值将可用(browsermob 可能不会在默认端口 8080 上创建代理,所以我建议从代理对象本身中选择它)。

于 2014-01-09T12:45:17.333 回答