selenium.common.exceptions.SessionNotCreatedException: Сообщение: сеанс не создан: версия Chrome должна быть между 70 и 73 с ChromeDriver

Я пытаюсь создать веб-сканер, используя Selenium, но я получаю эту ошибку, когда пытаюсь создать объект веб-драйвера.

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)

Я скачал последнюю версию chromedriver (2.45), которая требует Chrome 70-73. Моя текущая версия Chrome - 68.0.3440.106 (официальная сборка) (64-разрядная версия), которая является последней. Я попытался загрузить "старую" версию Chrome (71), и когда я попытался установить ее, установщик указал, что у меня уже установлена более новая версия.

Похоже, что нет предыдущих выпусков Chromedriver, доступных для скачивания, хотя на веб-сайте написано, что они есть. Я не мог их найти.

Я не совсем понимаю, как версия 71 старше, чем 68?

Существует ли версия Chrome, более новая, чем 68, или более старая версия chromedriver, которую я могу использовать с Chrome 68?

У кого-нибудь есть другие предложения?

Это код, который я пытаюсь выполнить:

import time
from selenium import webdriver
from selenium.webdriver.common.keys import Keys
user = 'XXXXXXX'
pwd = 'XXXXXXX'
chromedriver = "...\...\...\chromedriver.exe"
driver = webdriver.Chrome(executable_path=chromedriver) # Error occurs at this line
driver.get("http://www.facebook.com")
assert "Facebook" in driver.title
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("email")
elem.send_keys(user)
time.sleep(5) # So i can see something!
elem = driver.find_element_by_id("pass")
elem.send_keys(pwd)
time.sleep(5) # So i can see something!
elem.send_keys(Keys.RETURN)
driver.close()

Ответ 1

Вы можете найти более старые версии драйвера Chrome здесь.

Я не думаю, что это хорошая идея, чтобы установить Chrome из источников, отличных от официального канала, и установка того же самого может вызвать проблемы. Посмотрите, работает ли служба обновлений Google на вашем ПК. Это автоматически обновит версию Chrome до последней. Моя версия работает под управлением версии 71.0.3578.98 (Официальная сборка) (64-разрядная версия).

Ответ 2

Для меня обновление драйвера сделало свое дело. Просто беги:

brew cask upgrade chromedriver

и затем попробуйте запустить тест снова. Надеюсь, поможет!

Ответ 3

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

selenium.common.exceptions.SessionNotCreatedException: Message: session not created: Chrome version must be between 70 and 73
(Driver info: chromedriver=2.45.615291 (ec3682e3c9061c10f26ea9e5cdcf3c53f3f74387),platform=Windows NT 6.1.7601 SP1 x86_64)

... подразумевает, что версия Chrome должна быть между 70 и 73

Ваша основная проблема заключается в совместимости версий между двоичными файлами, которые вы используете, следующим образом:

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

Supports Chrome v70-72

  • Вы используете Chrome = 68,0
  • В заметках о выпуске ChromeDriver v2.41 четко упоминается следующее:

Supports Chrome v67-69

Таким образом, существует явное несоответствие между ChromeDriver v2.45 и Chrome Browser v68.0


Решение


Альтернативный

Почему-то я чувствую, что в вашей системе установлено 2 версии браузера Chrome. Если это так, вам нужно указать абсолютное местоположение двоичного файла Chrome в вашей программе, и вы можете использовать следующее решение:

  • Блок кода:

    from selenium import webdriver
    from selenium.webdriver.chrome.options import Options
    options = Options()
    options.binary_location = "C:/Program Files (x86)/Google/Chrome/Application/chrome.exe"
    driver = webdriver.Chrome(chrome_options=options, executable_path="C:/Utility/BrowserDrivers/chromedriver.exe", )
    driver.get('http://google.com/')
    
  • Подробное обсуждение можно найти в Установить двоичный файл браузера Chrome через chromedriver в Python

Примечание. Соответствующее обсуждение можно найти в исключении Сеанс не создан: версия Chrome должна быть> = x.y.z при использовании Selenium Webdriver с Chrome.

Ответ 4

Есть два варианта решения этой проблемы:

1. Если ваша версия Chrome не обновлена → Обновите ее

Шаги: 1. Перейдите в Справка → О Google Chrome → Chrome автоматически выполнит поиск обновлений (обновите Chrome до последней версии)

enter image description here

2. Если ваша версия Chrome уже обновлена → Затем вам нужно обновить версию драйвера Chrome

Вот ссылка: http://chromedriver.chromium.org/downloads

enter image description here

Ответ 5

Я столкнулся с той же проблемой. Я попытался установить версию Chrome с пониженной версией (текущая стабильная версия составляла 74, а требуемая версия драйвера должна быть между 70-73), но я не смог этого сделать.

Я нашел другой способ. Эта ссылка покажет вам, какая версия совместима с вашим текущим google-chrome (чтобы узнать вашу версию, команда google-chrome --version)

По этой ссылке вы узнаете, как установить драйвер chrome с zip файлом. Команды:

cd
wget <URL to zip file>
unzip chromedriver_linux64.zip
sudo mv chromedriver /usr/bin/chromedriver
sudo chown root:root /usr/bin/chromedriver
sudo chmod +x /usr/bin/chromedriver

Если возникает ошибка No such file or directory: '/usr/lib/chromium-browser/chromedriver' ИЛИ сохраняется та же ошибка

Повторите описанную выше процедуру с путем /usr/lib/chromium-browser/chromedriver вместо /usr/bin/chromedriver

Для меня Google-Chrome версии 74 работал с ChromeDriver версии 73

Ответ 6

Ваша версия Chrome очень старая. Версия 68 не является последней версией. Для всех операционных систем Chrome в настоящее время находится в версии 71+. Пожалуйста, смотрите список здесь.

Кроме того, это ссылка для загрузки старых версий.

Ответ 7

В итоге:

  • Найдите свою версию Chrome (Help-> О Google Chrome)
  • Найдите свою версию хромедрайвера, если она у вас уже есть. (Для меня "chromedriver.exe -v" дал мне версию для среды Windows.)
  • Посетите официальную страницу веб-драйвера Chrome (http://chromedriver.chromium.org/downloads)
  • Загрузите chromedriver, соответствующий версии браузера Chrome, из указанного выше местоположения загрузки.
  • Взгляните на заметки о выпуске на этой странице загрузки в нижней части страницы, которая дает четкое представление о том, какой драйвер использовать для какой версии браузера.
  • Вы можете поместить загруженный бинарный файл chromedriver в путь.

Вот и ты. Всего наилучшего!

Ответ 8

Если вы используете Chrome версии 75, пожалуйста, загрузите ChromeDriver 75.0.3770.8. Если вы используете Chrome версии 74, пожалуйста, скачайте ChromeDriver 74.0.3729.6. Для более старой версии Chrome, пожалуйста, смотрите ниже версию ChromeDriver, которая ее поддерживает. http://chromedriver.chromium.org/downloads

Ответ 9

Просто скачайте расширение chromedriver 2.8 или 2.9 отсюда.

Распакуйте его и добавьте это расширение в /usr/local/bin

Ответ 10

Я столкнулся с этой проблемой из-за несоответствия версии Chromeriver и Chrome. Я выполнил следующие действия, чтобы решить мою проблему:

1) First, find out which version of Chrome you are using. My Chrome version was 77.0.3865.90.
2) Take the Chrome version number, remove the last part, and append the result to URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_". For example, with Chrome version 77.0.3865.90, you'd get a URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_77.0.3865".
3) Use the URL created in the last step to retrieve the version of ChromeDriver to use. For example, the above URL will get your a file containing "77.0.3865.40". (The actual number may change in the future, of course.)
4) I then did :
  webdriverdownloader chrome:77.0.3865.40 on my mac terminal.

После этого ваши версии Chromedriver и Chrome должны быть синхронизированы, и проблема должна быть исправлена.

Ответ 11

Шаг 1: пожалуйста, убедитесь, что ваш Chromedriver & Версия браузера Chrome такая же.

Шаг 2. Перейдите в Windows/System32 и убедитесь, что там нет файла chromedriver.

Шаг 3: Если вы нашли драйвер Chrome в System32, удалите его или замените его на последний.

Ответ 12

Вы должны соответствовать номеру версии chromedriver и версии Chrome вашего веб-браузера, Если обе версии совпадают, то это лучше.

Например - 1- Chrome версии вашего браузера - 77 (Для проверки Chrome версии вашего браузера попал в справку вашего браузера, а затем о Google Chrome там вы найдете         ваш браузер хром версия). 2- Теперь загрузите ту же версию здесь 77 chromedriver из https://chromedriver.chromium.org/downloads. 3- Сделайте Google Chrome вашим браузером по умолчанию. Все сделано. Ваш код будет работать нормально.

from selenium import webdriver

driver=webdriver.Chrome("chromedriver.exe")

# Below line of code provide
driver.get('http://python.org')

html_doc=driver.page_source

print("Html code of http://python.org web page :",html_doc)