python报错后怎样重新开始运行?

我用python+selenium循环做网页操作,程序写的没问题,就是偶尔会有电脑卡顿或者是网速问题导致定位不到元素,一旦定位不到元素就会报错,然后直接就停止了,我想让我的程序在报错停止后就重新再执行起来,我的代码类似下面的情况:
while True:
....我的代码....
....我的代码....
....我的代码....
应该加什么条件让它一直运行下去?

为了让你的程序在出错时重新开始运行,你可以使用 try 和 except 语句来处理异常。当程序遇到异常时,except 语句将捕获异常并允许程序继续执行,而不是终止。你可以将你的代码放在 try 块中,并在 except 块中处理异常。这是一个示例:

在这个示例中,我们在 try 块中执行你的代码,如果遇到任何异常,程序将跳转到 except 块。except 块中,我们打印出异常信息,然后等待5秒后使用 continue 语句返回 while 循环的开始,重新执行你的代码。

这样,即使你的程序遇到异常,它也会在5秒后重新开始运行。你可以根据你的需要调整等待时间。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2023-05-05
可以添加一个异常处理语句,当定位元素发生异常时捕获异常,然后重新执行循环。可以这么写:
python
while True:
try:
# 我的代码...
# 我的代码...
# 我的代码...
except Exception as e:
print(e) # 打印异常信息
continue # 继续循环,重新执行

# 当代码正常执行完毕后,也继续循环
continue

添加`except Exception as e`异常处理语句,当代码块内出现任何异常时,except会捕获异常,然后`continue`语句会直接跳到下一次循环,重新执行代码块内的语句。这样的话,当定位元素发生异常导致报错时,except会捕获这个异常,然后`continue`会重新开始循环,直到代码能正常执行为止。达到你要的在报错后重新运行的效果。完整代码如下:
python
while True:
try:
# 我的代码...
# 我的代码...
# 我的代码...
except Exception as e:
print(e)
continue

# 当代码正常执行完毕后,也继续循环
continue

这是处理循环中出现异常并重新运行的常用方式。
第2个回答  2023-05-05

为了确保您的程序在出错时继续运行,您可以使用try和except语句来处理异常。当程序执行到可能引发异常的代码时,try块中的代码将被执行,如果发生异常,则执行except块中的代码。这样,您可以在except块中处理异常并使程序继续运行。

在您的示例中,可以将可能引发异常的代码放入try块,并在except块中重新尝试执行。例如:

from selenium.common.exceptions import NoSuchElementException

while True:

    try:

        # ... 您的代码 ...

        # ... 您的代码 ...

        # ... 您的代码 ...

    except NoSuchElementException:

        print("元素未找到,尝试重新执行")

        continue

这样,如果在执行过程中发生’NoSuchElementException‘异常,程序将打印一条消息并继续下一次循环。这意味着程序将尝试重新执行您的代码,而不会因为定位不到元素而停止。

请注意,这里我们导入了’selenium.common.exceptions‘模块中的’NoSuchElementException‘,以便捕获这种特定的异常。您可以根据需要修改except子句来捕获其他类型的异常

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网