gpt4 book ai didi

ruby - 在 Watir 中出现超时错误后重试测试站点

转载 作者:太空宇宙 更新时间:2023-11-03 18:22:24 26 4
gpt4 key购买 nike

我正在浏览一个站点列表,并使用 Watir 访问每个站点以在每个页面的源代码中查找内容。但是,在大约 20 或 30 个站点之后,浏览器在加载某个页面时超时并且它破坏了我的脚本并且我得到了这个错误:

rbuf_fill: execution expired (Timeout::Error)

我正在尝试实现一种方法来检测它何时超时,然后从它停止但遇到问题的地方重新开始测试站点。这是我的代码:

ie = Watir::Browser.new :firefox, :profile => "default"
testsite_array = Array.new
y=0
File.open('topsites.txt').each do |line|
testsite_array[y] = line
y=y+1
end
total = testsite_array.length
count = 0
begin
while count <= total
site = testsite_array[count]
ie.goto site
if ie.html.include? 'teststring'
puts site + ' yes'
else
puts site + ' no'
end

rescue
retry
count = count+1
end
end
ie.close

最佳答案

你的循环可以是:

#Use Ruby's method for iterating through the array
testsite_array.each do |site|
attempt = 1
begin
ie.goto site
if ie.html.include? 'teststring'
puts site + ' yes'
else
puts site + ' no'
end
rescue
attempt += 1

#Retry accessing the site or stop trying
if attempt > MAX_ATTEMPTS
puts site + ' site failed, moving on'
else
retry
end
end
end

关于ruby - 在 Watir 中出现超时错误后重试测试站点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16110828/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com