Сценарий Watir иногда возвращает ошибку Net :: ReadTimeout - PullRequest
0 голосов
/ 20 мая 2018

У меня есть скрипт Watir, который иногда и непредсказуемо возвращает эту ошибку:

Net::ReadTimeout

Я искал эту ошибку и обнаружил этот вопрос уже задан.Я следовал за верхним ответом и реализовал это:

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 голосов
/ 20 мая 2018

Вышеуказанная ошибка выдается, когда время загрузки страницы превышает 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"

Теперь ваш код будет ждать 120 секунд для любой загрузки страницы, которая была вызванапо #click, а также дождитесь загрузки url по goto методу.

...