如果我获得超时例外,该如何重新启动脚本



当我使用此代码时,我会在一段时间后获得超时例外。

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个链接,在处理了两百分之后,它会输出错误。如何解决此错误?我可以从上一个处理的链接重新启动脚本吗?

通过您在评论中提供的跟踪,此行抛出了一个例外:

title = WebDriverWait(driver, 100).until(
                EC.presence_of_element_located((By.CLASS_NAME, "some class name with title"))
            ).text

您将其放在尝试块中,但是try块没有相应的except,因此...基本上没有捕获错误。添加一个except块,它将起作用。

最新更新