Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如果出现超时异常,如何重新启动脚本_Python_Selenium_Selenium Webdriver - Fatal编程技术网

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,它已消失,谢谢: