2017-11-18 20 views
0
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/") 

このコードは動作していますが、開いているウィンドウはあいまいですが、プロキシではない自分のローカルIPアドレスが表示されるたびに表示されます。これはプロキシーが動作しないことを意味します プロキシプロトタイプで作業する必要があります。 私を助けてくれませんか? Pleaseee ...Ruby。セレン。プロキシプロキシが動作しません

ありがとうございました。

+0

ヒントを修正、プロキシのファイルを読むためにそれを編集することができます。 – tadman

答えて

0

正しいオプションでそれを宣言しているように見えます:

の理由で
driver = Selenium::WebDriver.for :chrome, desired_capabilities: caps 

そしてオプションはありません1と前回の1を、踏み、あなたはそれが再び行くと宣言原因不明

driver = Selenium::WebDriver.for :chrome 

2番目のインスタンスは存在しません。消して。

+0

はい2番目の文字列を削除します。しかし、ここでも問題は、プロキシは動作しません。ページに自分の住所が表示されます。プロキシではありません。 – masterlir

0

これは、Selenium Webdriverでブラウザプロキシインスタンスを正常に作成するために使用する方法です。配列からランダムなエントリの `@のproxies.sample`:あなただけ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