#python #selenium #jupyter-notebook
Вопрос:
У меня есть скрипт, который выполняет несколько действий на веб-сайте при соблюдении определенных условий . Я использую безголовый selenium Chrome и Firefox. Я запускаю этот сценарий в записной книжке Jupyter. Приложение работает по назначению в основном без ошибок. Проблема возникает только тогда, когда мне нужно остановить скрипт или он прерывается из-за других ошибок. После этого водитель давит.
while True:
a, b = get_a_and_b()
if a > b:
print ("click a button")
driver.find_element_by_class_name("button").click()
sleep(1)
функция get_a_and_b() не взаимодействует с селеном.
Однако когда я инициирую KeyboardInterrupt, функция останавливается, но драйвер после этого возвращает MaxRetryError:
Errr HTTPConnectionPool(host='127.0.0.1', port=33111): Max retries exceeded with url: /session/4d754ba9-0c65-4c40-b045-a8e8432b4564/window (Caused by NewConnectionError('<urllib3.connection.HTTPConnection object at 0x7f390b09beb0>: Failed to establish a new connection: [Errno 111] Connection refused'))
'MaxRetryError' object has no attribute 'code'
После этого мне нужно снова запустить драйвер, потому что он ни на что не реагирует.
Это происходит, даже если я ловлю исключения с помощью try.
Почему происходит эта ошибка и как я могу ее предотвратить?