我希望我的脚本在发生错误时重新尝试它停止的位置。我正在使用selenium下载多个报告。偶尔报告无法正确加载。我希望脚本在出错时记住它的位置并重新尝试提取报告。 (我需要脚本来记住x的值。)
以下是一些可能有用的代码......(我非常需要帮助)
-------------------------------
Ember : 2.4.1
Ember Data : 2.4.0+9f8c40927a
jQuery : 1.11.3
Ember Simple Auth : 1.0.0
-------------------------------
答案 0 :(得分:1)
你在这里做的是迭代超过50个x
的值,一旦一次访问失败,你就会递归地再次开始迭代所有50个值。重复逻辑应该看起来像这样:
for x in range(1, 51):
while True: # or some condition to put a bound on retries
try:
...
except:
continue
else:
break
therest()
这样,您可以在循环内捕获50个值内的每个异常,并在运行的迭代中执行重试,因此记住x
的当前值将成为非问题。请注意else
与try
语句的使用:如果没有发生异常,则执行else
子句;这是当您想要停止使用当前值x
重试时。
答案 1 :(得分:0)
您可以将x的当前值写入当前目录中的文件,然后在脚本完成时删除该文件。当脚本启动时,如果文件仍然存在,那么您知道存在错误,因为文件未被删除。所以,读取文件以获取x并从那里开始。
但总的来说,一个更好的解决方案是构建您的程序,以便while True
循环高于for x in range
循环,因此打破一个报告将自然地继续下一个报告,而不是跳过所有剩余的。