Каждый раз, когда я запускаю свой код python, браузер Edge открывается, но не загружает URL. Затем система Windows отобразит диалоговое окно с текстом:
Веб-драйвер Microsoft перестал работать.
Проблема привела к тому, что программа перестала работать правильно. Windows закроет программу и сообщит вам, если решение доступно.
Мой Python код: (работает на PyCharm):
# Locate the web driver for Edge browser
driver = webdriver.Edge(executable_path = 'C:/Users/username/webdrivers/MicrosoftWebDriver.exe')
# Open the website
driver.get("https://google.com")
Предупреждение / сообщение об ошибке из PyCharm:
Трассировка (последний последний вызов): файл "02042020.py", строка 14, в driver = webdriver.Edge (executetable_path = 'C: / Users / username / webdrivers /MicrosoftWebDriver.exe ') Файл "C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ edge \ webdriver.py", строка 61, в init RemoteWebDriver. init (Файл "C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", строка 157, в init self.start_session (functions, browser_profile) Файл "C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py", строка 252 , в start_session response = self.execute (Command.NEW_SESSION, параметры) Файл "C: \ Users \ username \ Pycharm Проекты \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ webdriver.py ", строка 319, в файле execute response = self.command_executor.execute (driver_command, params) Файл" C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ remote_connection.py ", строка 374, в файле execute выполнить self._request (command_info [0], url, body = data) Файл" C : \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ selenium \ webdriver \ remote \ remote_connection.py ", строка 402, в _request resp = http.request (метод, URL, тело = тело, заголовки = заголовки) Файл "C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ request.py", строка 79, в запросе возвращает self.request_encode_body (файл "C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ request.py ", строка 171, в request_encode_body возвращают файл self.urlopen (метод, URL, ** extra_kw)" C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ Lib \ сайт-пак kages \ urllib3 \ poolmanager.py ", строка 330, в urlopen response = conn.urlopen (метод, u.request_uri, ** kw) Файл" C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site -packages \ urllib3 \ connectionpool.py ", строка 719, в urlopen retries = retries.increment (Файл" C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ util \ retry. py ", строка 400, в инкременте увеличить файл six.reraise (тип (ошибка), ошибка, _stacktrace)" C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ packages \ six .py ", строка 734, в ререйзе увеличить файл value.with_traceback (tb)" C: \ Users \ имя пользователя \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ connectionpool.py ", строка 665, в urlopen httplib_response = self._make_request (Файл "C: \ Users \ username \ PycharmProjects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ connectionpool.py", строка 421, в _make_request six.raise_from (e, None) Файл "", строка 3, в файле повышение_от файла "C: \ Users \ username \ PycharmPr ojects \ Web_Scraping \ venv \ lib \ site-packages \ urllib3 \ connectionpool.py ", строка 416, в файле _make_request httplib_response = conn.getresponse ()" C: \ Users \ имя пользователя \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ http \ client.py ", строка 1322, в файле getresponse response.begin ()" C: \ Users \ имя пользователя \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ http \ client.py " строка 303, в начальной версии, состояние, причина = self._read_status () файл "C: \ Users \ имя пользователя \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ http \ client.py", строка 264 в файле _read_status line = str (файл self.fp.readline (_MAXLINE + 1), "iso-8859-1") "C: \ Users \ имя пользователя \ AppData \ Local \ Programs \ Python \ Python38 \ lib \ socket.py ", строка 669, в readinto возвращает self._sock.recv_into (b)
urllib3.exceptions.ProtocolError: ('Соединение прервано.', ConnectionResetError (10054, 'Существующее соединение) был принудительно закрыт удаленным хостом ', Нет, 10054, Нет))
Сведения об окружении:
Я пытался устранить неполадки, но это не сработало.
Мои проблемы:
Включить разработчика Режим, в котором будет установлена соответствующая версия WebDriver. Вкл Windows:
Settings > Update & Security > For developers > select "Developer Mode".
Запуск CMD в качестве администратора для установки через DISM:
DISM.exe / Online / Add-Capability /CapabilityName:Microsoft.WebDriver~~~ ~ 0.0.1.0
Там написано:
Deployment Image Servicing and Management tool
Version: 10.0.18362.1
Image Version: 10.0.18363.592
[==========================100.0%==========================]
The operation completed successfully.
Я повторял эти шаги много раз, но это не сработало. Я загрузил веб-драйвер для Chrome и переключил свой код Python на браузер Chrome, и он заработал. К сожалению, проблема в том, что для этой конкретной задачи Microsoft Edge является обязательным браузером. Может кто-нибудь, пожалуйста, посоветуйте? Заранее спасибо!