watir webdriver尝试捕获代理

时间:2013-08-08 13:29:16

标签: testing watir watir-webdriver

以下是使用watir webdriver连接代理的工作代码:

b = Watir::Browser.new :chrome, :switches => %w[--proxy-server=xxx.xxx.xx.xxx:80]

现在如果代理不起作用,我怎么能抓住它并尝试使用其他代理呢? 喜欢尝试和捕获或与案件?

1 个答案:

答案 0 :(得分:1)

看起来您只能通过转到页面来确定代理是否正常工作。如果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?