Selenium webdriver аварийно завершает работу при входе в систему с помощью инструментов разработчика Chrome, если вы перезагрузите/перейдете по другому URL

#python-3.x #selenium #google-chrome #selenium-webdriver

Вопрос:

Я использую этот код (все кредиты его автору): https://gist.github.com/lorey/079c5e178c9c9d3c30ad87df7f70491d Он отлично подходит для регистрации одной страницы (url1).

Но он вылетает, если вы перезагружаете ту же страницу или переходите на другой URL (вручную в коде, например driver.get(url2) или автоматическое перенаправление).

ошибка сбоя: selenium.common.exceptions.WebDriverException: Message: unknown error: unhandled inspector error: {"code":-32000,"message":"No resource with given identifier found"}

Как мне изменить код, чтобы он продолжал регистрироваться?

ps: selenium webdriver по умолчанию снял этот флажок

введите описание изображения здесь

Так что, вероятно, он вылетает, потому что Chrome сам очищает журнал.

Я вижу здесь 3 варианта:

  1. заключается в том, чтобы настроить веб-драйвер для запуска с включенной этой опцией. Лучший из них, имо. Как это сделать?
  2. начните вести журнал для каждого URL-адреса. Однако, если вы не знаете точных URL-адресов перенаправления, это не имеет смысла
  3. возможно, есть лучшее решение для selenium 4.0, так как этому коду 1 год

я использую последние доступные версии python, selenium, chrome, которые составляют ~ 3.10, 4.0.0, 95

pps: чтобы заставить этот код работать, измените:

строка 14 для capabs["goog:loggingPrefs"] = {"performance": "ALL"}

строка 20 для driver.get("https://google.com")

вставьте строку driver.refresh() 22, чтобы завершить ее