webdriver.get () повышает TimeoutException - PullRequest
1 голос
/ 17 января 2020

Я использую селен в сочетании с сельдереем и митпрокси для сканирования куки с нескольких сайтов каждый день. Вчера мое приложение вылетало из-за следующего исключения:

Traceback (most recent call last):
  File "/usr/local/lib/python3.7/dist-packages/celery/app/trace.py", line 385, in trace_task
    R = retval = fun(*args, **kwargs)
  File "/usr/local/lib/python3.7/dist-packages/celery/app/trace.py", line 648, in __protected_call__
    return self.run(*args, **kwargs)
  File "/home/myapplication/myapplication/api/tasks.py", line 24, in scan_periodically
    x.startscanner(executor=Scan.PERIODICALLY)
  File "/home/myapplication/myapplication/api/scanner.py", line 204, in startscanner
    self.browser_list[self.browser_list_place].get(self.website.url)
  File "/home/myapplication/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 333, in get
    self.execute(Command.GET, {'url': url})
  File "/home/myapplication/.local/lib/python3.7/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
    self.error_handler.check_response(response)
  File "/home/myapplication/.local/lib/python3.7/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
    raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.TimeoutException: Message: timeout
  (Session info: headless chrome=76.0.3809.100)

Я использую API python из селена с python версии 3.7.3, API Селена версии 3.141.0 и Google Chrome 76.0 .3809.100 с версией chromedriver 76.0.3809.68.

Почему метод getd (webdriver) вызывает исключение TimeoutException?

1 Ответ

0 голосов
/ 17 января 2020

Попробуйте эти аргументы для тайм-аута избежать / переопределить, я нашел их в своей библиотеке селена

import socket
from selenium.common.exceptions import TimeoutException

#Init your browser, then
#...

socket.setdefaulttimeout(int(60))

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