Watir-使用具有身份验证的代理

时间:2018-08-24 16:00:32

标签: selenium watir

如何通过Watir使用具有身份验证的代理?

documentation

proxy = {
  http: 'my.proxy.com:8080',
  ssl:  'my.proxy.com:8080'
}
chrome_browser  = Watir::Browser.new :chrome, proxy: proxy

我的代理的结构类似于ip:port:username:password,但似乎无法正常工作。如何在Watir中使用此代理?

1 个答案:

答案 0 :(得分:0)

后代:

您可以使用https://github.com/SebastianJ/proxy-chain-rb在本地主机上设置代理,而无需进行身份验证,重定向到您的实际代理。

real_proxy = "http://username:password@host:port"
server = ProxyChainRb::Server.new
generated_proxy = server.start(real_proxy)

proxy = {
  http: generated_proxy,
  ssl:  generated_proxy
}

Watir::Browser.new(:chrome, proxy: proxy)

* do your scraping *

server.stop

如果不需要运行无头模式,则还可以使用扩展程序。

创建Selenium using Python: enter/provide http proxy password for firefox中描述的zip文件(显然,使用您自己的代理信息)。

从压缩文件中创建一个.crx文件。您可以在Chrome->设置->扩展->切换开发人员模式->扩展包中

options = { extensions: ['path of .crx file'] }
browser = Watir::Browser.new :chrome, options: options

请注意,这在无头Chrome中将不起作用。