プロキシをwatir webdriverに接続するための作業コードは次のとおりです。
b = Watir::Browser.new :chrome, :switches => %w[--proxy-server=xxx.xxx.xx.xxx:80]
プロキシが機能しない場合、どうすればそれをキャッチして他のプロキシで試すことができますか? 試してキャッチしたり、ケースを使用したりしますか?
プロキシをwatir webdriverに接続するための作業コードは次のとおりです。
b = Watir::Browser.new :chrome, :switches => %w[--proxy-server=xxx.xxx.xx.xxx:80]
プロキシが機能しない場合、どうすればそれをキャッチして他のプロキシで試すことができますか? 試してキャッチしたり、ケースを使用したりしますか?
ページに移動することによってのみ、プロキシが機能するかどうかを判断できるようです。Chrome がプロキシに接続できない場合、「プロキシ サーバーに接続できません」というメッセージが表示されます。したがって、次のことを試すことができます。
1) プロキシを使用してページに移動する 2) メッセージを確認する 3) メッセージが表示される場合は、別のプロキシを試してください 4) メッセージが表示されない場合、プロキシが動作しています
たとえば、次の例では最初のプロキシを試行しますが、失敗します。次に、次のプロキシなどを試します。
proxy_servers = ['111.111.11.111:80', '222.222.22.222:80']
browser = nil
proxy_servers.each do |proxy|
browser = Watir::Browser.new :chrome, :switches => ["--proxy-server=#{proxy}"]
# Try going to a page
browser.goto 'http://www.google.ca'
#If Chrome says "Unable to connect to the proxy server", try another one
if browser.text.include?('Unable to connect to the proxy server')
browser.close
else
break
end
end
# Throw an exception if a valid proxy server cannot be found
raise 'No valid proxy servers found' unless browser.exists?