Я делаю программу автоматизации с использованием Watir, которая читает ссылки из файла links.txt
и затем открывает их по одной в браузере chrome. Когда требуется много времени, чтобы открыть браузер и время загрузки, он показывает Net::ReadTimeout
. Я пытался спасти, и если он не спас go к следующей ссылке из списка.
Я пробовал это, но когда max_retries = 3, он снова показывает ошибку. Я хочу заставить браузер ждать определенное количество времени c, а затем, если он все еще загружается, закрыть браузер и go перейти к следующей ссылке из списка
file='links.txt'
max_retries = 3
times_retried = 0
n = 0
begin
browser = Watir::Browser.new :chrome
Watir.default_timeout = 1000
rescue Net::ReadTimeout
browser.wait
retry
end
line = File.readlines(file).sample
while n <= 50 do
n+=1
begin
browser.goto "#{line}"
rescue Net::ReadTimeout => error
if times_retried < max_retries
times_retried += 1
puts "Failed to load page, retry #{times_retried}/#{max_retries}"
retry
else
puts "Exiting script. Timeout Loading Page"
exit(1)
end
end
break if n == 50
end