selenium.common.exceptions.SessionNotCreatedException: Сообщение: сеанс не создан: эта версия ChromeDriver поддерживает только Chrome версия 80 - PullRequest
1 голос
/ 07 января 2020

когда я go в командной строке и набираю chromedriver -v:

ChromeDriver 79.0.3945.36 (3582db32b33893869b8c1339e8f4d9ed1816f143-refs/branch-heads/3945@{#614})

, но когда я пытаюсь запустить этот код:

from selenium import webdriver 
class InstaBot:
    def __init__(self):
        self.driver=webdriver.Chrome()
        self.driver.get("www.instagram.com")
InstaBot()

, это дает мне такую ​​ошибку : повысить исключение_класса (сообщение, экран, отслеживание стека)

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80

, почему это происходит, я пытался удалить селен, а также chromedriver и переустановить версию 79.0.3945, но при запуске он показывает, что это может только для запуска на версии 80 моя chrome версия - 79.0.3945, которая является последней, а версия 80 chrome - chrome бета

Ответы [ 2 ]

1 голос
/ 07 января 2020

Это сообщение об ошибке ...

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 80

... означает, что ChromeDriver v80.0 не смог инициировать / создать новый Контекст просмотра т.е. Chrome Браузер сеанс.


Ваша главная проблема - несовместимость между версиями используемых вами двоичных файлов:

  • Вы упомянули об использовании chromedriver = 79.0.3945.36 и в примечаниях к выпуску chromedriver = 79.0 четко упоминается следующее:

Поддержка Chrome v79

  • Предположительно, вы используете браузер chrome v79.0 .
  • Итак, совершенно очевидно, что в вашей системе присутствует chromedriver = 80.0 , который также находится в системной переменной PATH и вызывается, пока вы:

    self.driver=webdriver.Chrome()
    

Решение

Существует два решения:

  • Либо вы обновляете chrome до Chrome Версия 80.0 уровень. (согласно примечаниям к выпуску ChromeDriver v80.0 )
  • Или вы можете переопределить стандартное расположение двоичного местоположения chromedriver v80.0 с помощью chromedriver v79. 0 двоичное расположение следующим образом:

    from selenium import webdriver
    
    driver = webdriver.Chrome(executable_path=r'C:\path\to\chromedriver.exe')
    driver.get('http://google.com/')
    

Подробное обсуждение можно найти в Ubuntu: selenium.common.exceptions: сеанс не создан: Это версия ChromeDriver поддерживает только Chrome версия 79


Дополнительные замечания

Убедитесь, что:

  • Очистить ваше Project Workspace через IDE и Перестройте ваш проект только с необходимыми зависимостями.
  • Если ваша база Веб-клиент * Версия 1092 * устарела, затем удалите ее и установите последнюю версию GA и выпущенную версию Веб-клиент .
  • Возьмите Перезагрузку системы .
  • Выполните @Test как не- root пользователя.
  • Всегда вызывайте driver.quit() в методе tearDown(){}, чтобы закрыть & уничтожить WebDriver и Web Client экземпляров изящно.

Ссылка

Соответствующее подробное обсуждение можно найти в:

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

Используйте плагин Bonigarcia в проекте. После этого он сам будет управлять всем драйвером. Он читает chrome версию и соответственно создает экземпляр драйвера.

за помощью, следуйте за моим постом: https://www.linkedin.com/pulse/webdrivermanager-bonigarcia-rohan-ravi-yadav/

или оригинал git ссылка / сообщение https://github.com/bonigarcia/webdrivermanager

Если требуется какая-либо помощь, дайте мне знать

...