Python 如果出现超时异常,如何重新启动脚本
当我使用这段代码时,我会在一段时间后出现超时异常Python 如果出现超时异常,如何重新启动脚本,python,selenium,selenium-webdriver,Python,Selenium,Selenium Webdriver,当我使用这段代码时,我会在一段时间后出现超时异常 driver = webdriver.Firefox() driver.implicitly_wait(100) def csv_url_reader(url_obj): reader = csv.DictReader(url_obj, delimiter=',') for line in reader: url = line["URL"] driver = webdriver.Firefox(
driver = webdriver.Firefox()
driver.implicitly_wait(100)
def csv_url_reader(url_obj):
reader = csv.DictReader(url_obj, delimiter=',')
for line in reader:
url = line["URL"]
driver = webdriver.Firefox()
driver.get(url)
try:
title = WebDriverWait(driver, 100).until(
EC.presence_of_element_located((By.CLASS_NAME, "some class name with title"))
).text
finally:
driver.close()
driver.quit()
print("Title is " + title)
if __name__ == "__main__":
with open("url.csv") as url_obj:
csv_url_reader(url_obj)
CSV文件包含大约3000个链接,在处理了其中的200个链接后,它会输出一个错误。我怎样才能避开这个错误呢?我可以从上次处理的链接重新启动脚本吗?根据您在注释中提供的跟踪,此行引发异常: title=WebDriverWaitdriver,100.00 EC.presence____元素_由.CLASS_名称定位,某些带有标题的类名 文本
您的try块中有它,但是try块没有相应的。。。基本上没有捕捉到错误。添加一个except块,它就会工作。您没有指定它在什么地方准确超时?如果它在代码中的某个地方可以捕获,只需使用try-except块,然后忽略此超时,或者将其记录在某个地方并继续。我假设超时的是driver.geturl。将其包含在try except block.File find.py第318行的EC.presence\u all\u elements\u locatedBy.CLASS\u NAME、CLASS File/home/me:/PycharmProjects/project/venv/lib/python3.7/site-packages/selenium/webdriver/support/wait.py第80行的untill raise TimeoutExceptionmessage屏幕中,stacktrace selenium.common.exceptions.TimeoutException:消息:将驱动程序移动到try没有帮助。我认为浏览器会话已结束,并且在10或15分钟后出现错误*我添加了除TimeoutException外的其他内容:pass,它已消失,谢谢: