【问题标题】:Watir - use proxy with authenticationWatir - 使用代理进行身份验证
【发布时间】:2019-01-31 03:31:44
【问题描述】:

如何使用代理与 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 一起使用?

【问题讨论】:

  • 你试过了吗...http: 'http://username:password@my.proxy.com:8080'...
  • @kiril 说了什么,而且我相信它是 https 而不是 ssl
  • @pguardiario 它的定义。 ssl! @Kiril S. 不起作用。我也在尝试这个,但遇到了问题。
  • @TheMiniJohn 我的研究表明不可能将代理与 watir 一起使用

标签: selenium watir


【解决方案1】:

为了后代:

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

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 文件(显然,使用您自己的代理信息)。

从 zip 文件中创建一个 .crx 文件。您可以在 Chrome -> 设置 -> 扩展 -> 切换开发者模式 -> 打包扩展中执行此操作

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

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

【讨论】:

    猜你喜欢
    • 2012-01-06
    • 2019-09-30
    • 2017-11-24
    • 2015-09-15
    • 1970-01-01
    • 2013-06-03
    • 2010-12-10
    • 1970-01-01
    相关资源
    最近更新 更多