Watir脚本偶尔会返回Net :: ReadTimeout错误

时间:2018-05-20 02:55:36

标签: ruby-on-rails selenium selenium-webdriver selenium-chromedriver watir

我有一个Watir脚本,偶尔会无法预料地返回此错误:

Net::ReadTimeout

我搜索了此错误,发现已经问过this question。我按照最佳答案,实施了这个:

attempts = 0
url = "https:/www.google.com/"
begin
doc = Watir::Browser.start url
rescue Net::ReadTimeout
  retry
end

但我仍然得到相同的超时错误。

我的网络从未遇到任何连接问题。我在Ubuntu和Windows 10机器上都出错了。在此错误表现出来之前,我的代码平均经历了大约30次迭代。我正在使用Chrome。

有什么建议吗?

1 个答案:

答案 0 :(得分:1)

当页面加载时间超过60秒时抛出上述错误,因此请为页面加载编写以下代码

client = Selenium::WebDriver::Remote::Http::Default.new
client.read_timeout = 120 # seconds
driver = Selenium::WebDriver.for :firefox,http_client: client
b=Watir::Browser.new driver
b.goto "www.google.com"

现在,您的代码将等待由#click导致的任何页面加载120秒,并等待url方法加载goto