Urllib3 - Selenium ConnectionResetError - WinError 10054 - Инициализация веб-драйвера. Chrome - PullRequest
1 голос
/ 29 января 2020

Новое сообщение, поскольку предыдущее было помечено как дубликат, но это не тот случай, извините.

У меня возникли некоторые проблемы с urllib3 и Seleninum.

По какой-то причине один из моих сценариев селена (остальные в порядке) в самом начале сбоя при открытии веб-драйвера. Chrome.

Ошибка, кажется, как-то "случайно". Он не будет работать в течение нескольких часов, затем будет работать нормально.

Я не понимаю, как соединение может быть закрыто удаленным хостом , если при этом я только инициализирую браузер?

Исходя из журнала, здесь происходит сбой:

chrome_webdriver = 'G:/Selenium/chromedriver_win32/chromedriver.exe'
chrome_options = Options()
chrome_options.add_argument("--allow-insecure-localhost")
chrome_options.add_argument("--ignore-certificate-errors")
chrome_options.add_argument("log-level=3")
chrome_options.add_argument("--start-maximized")
try:
   logging.info("Starting webdriver")   
   browser = webdriver.Chrome(
        options=chrome_options,
        executable_path=chrome_webdriver)
   logging.info("Webdriver launched")   
except Exception as e:
   logging.error(repr(e))
   exit

Я запустил netstat -b на хосте, но не вижу порт используется ни в состоянии TIME_WAIT, пока я только что получил:

INFO -- Starting webdriver
ERROR -- ProtocolError('Connection aborted.', ConnectionResetError(10054, 'An existing connection was forcibly closed by the remote host', None, 10054, None))

Полная ошибка, если она может помочь:

Traceback (most recent call last):
  File "E:\Python3\lib\site-packages\urllib3\connectionpool.py", line 672, in urlopen
    chunked=chunked,
  File "E:\Python3\lib\site-packages\urllib3\connectionpool.py", line 421, in _make_request
    six.raise_from(e, None)
  File "<string>", line 3, in raise_from
  File "E:\Python3\lib\site-packages\urllib3\connectionpool.py", line 416, in _make_request
    httplib_response = conn.getresponse()
  File "E:\Python3\lib\http\client.py", line 1336, in getresponse
    response.begin()
  File "E:\Python3\lib\http\client.py", line 306, in begin
    version, status, reason = self._read_status()
  File "E:\Python3\lib\http\client.py", line 267, in _read_status
    line = str(self.fp.readline(_MAXLINE + 1), "iso-8859-1")
  File "E:\Python3\lib\socket.py", line 589, in readinto
    return self._sock.recv_into(b)
ConnectionResetError: [WinError 10054] An existing connection was forcibly closed by the remote host

Любая помощь будет оценена, у меня заканчиваются идеи.

Информация :

ChromeDriver 79.0.3945.36 (последняя версия)

Chrome версия версии 79.0.3945.130 (последняя версия)

Брандмауэр отключен

Версия Urllib3: 1.25.8

Python версия: 3.7.4

1 Ответ

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

Не знаю почему, но переключение селена с Chrome на Firefox сработало, и скрипт работает, как и ожидалось.

Я до сих пор не понимаю, почему у меня эта ошибка - Winerror 100054 - только с Chrome, но по крайней мере он работает, если кто-нибудь сталкивался с этим постом

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