Как я могу перезапустить скрипт, если я получаю исключение тайм-аута - PullRequest
0 голосов
/ 18 мая 2019

Когда я использую этот код, через некоторое время я получаю исключение тайм-аута.

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-файл содержит около 3 тысяч ссылок и после обработки двух сотых из них выдает ошибку. Как я могу обойти эту ошибку? Можно ли перезапустить скрипт с последней обработанной ссылки?

1 Ответ

1 голос
/ 18 мая 2019

По трассе, которую вы указали в комментарии, эта строка вызывает исключение:

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

У вас есть это в вашем блоке try, но у блока try нет соответствующего except, поэтому ... в основном ошибка не обнаружена. Добавьте блок except, и он будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...