【问题标题】:Ruby. Selenium. Proxy. Proxy not work红宝石。硒。代理。代理不工作
【发布时间】:2017-11-18 17:11:49
【问题描述】:
require 'rubygems' 
require 'selenium-webdriver'

@p = File.read("proxy.txt")
@proxies = @p.split(/::/)
@proxy =  @proxies[rand(@proxies.count)]

caps = Selenium::WebDriver::Remote::Capabilities.firefox(proxy: Selenium::WebDriver::Proxy.new(http: @proxy))
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps

driver = Selenium::WebDriver.for :chrome
driver.get("http://showip.net/")

这段代码可以正常工作,意味着打开 Windows 等等,但每次我看到我自己的本地 IP 地址不是 PROXY。这意味着代理不起作用。 我非常需要使用代理原型。 你能帮我吗?请...

谢谢。

【问题讨论】:

  • 提示:@proxies.sample 用于数组中的随机条目。

标签: ruby selenium proxy


【解决方案1】:

看起来您正在使用正确的选项声明它:

driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps

然后由于无法解释的原因,你又去声明它再次,踩着前一个,一个没有选择的:

driver = Selenium::WebDriver.for :chrome

第二个实例不应该在那里。删除它。

【讨论】:

  • 是的,我删除了第二个字符串。但问题仍然存在,代理不起作用。页面显示我自己的地址。不是代理。
【解决方案2】:

您声明了 firefox 的功能,但随后为 chrome 设置了代理

【讨论】:

    【解决方案3】:

    这是我在 Selenium Webdriver 中成功创建浏览器代理实例的方法。您可以编辑它以读取代理文件,只需修改PROXY = "10.0.0.0:8080"

    begin
      PROXY = "10.0.0.0:8080"
    
      proxy = Selenium::WebDriver::Proxy.new(
          :http     => PROXY,
      )
    
      caps = Selenium::WebDriver::Remote::Capabilities.chrome(:proxy => proxy)
    
      $driver = Selenium::WebDriver.for :chrome, :desired_capabilities => caps
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-02-09
      • 1970-01-01
      • 1970-01-01
      • 2015-03-31
      • 2015-10-21
      • 2012-07-20
      • 2013-12-10
      相关资源
      最近更新 更多