我有一个Python脚本,用来让另一个Python剧本在循环中运行。
我基本上把它叫做python loop.py script.py
script.py
使用selenium和chromedriver来执行它需要做的任何事情,我试图让这个脚本全天候运行,所以每当它失败时,循环脚本就会重新启动它,并打开chromeriver的另一个实例,打开另一个chrome窗口。
我的问题是,每当我让这个脚本运行几个小时时,就会有一点是,我打开了太多的chrome窗口,导致计算机像你所期望的那样变得非常慢。
script.py
分为多个函数,其中一个函数调用其他一些函数,如:
def caller_function():
function1()
function2()
function3()
function4()
我已经处理了一些异常,所以基本上只有当发生未处理的异常时,脚本才会停止。
这个未处理的异常可能发生在任何函数中,所以我似乎找不到处理(?(未处理异常的方法,使其执行driver.quit()
,从而在loop.py
再次调用script.py
之前关闭失败的实例,并打开另一个chrome窗口。
我试着做:
def caller_function():
try:
function1()
function2()
function3()
function4()
except:
driver.quit()
但它没有起作用,因为某种原因,driver.quit((陷入了一个循环,并阻止loop.py
重新启动script.py
基本上,每当我早上醒来检查脚本的进度时,我都尽量不打开20多个chrome窗口。有人知道这方面的办法吗?
最终使用
try:
# your code
finally:
driver.quit()