Какая версия ChromeDriver совместима с версией браузера Chrome?

На самом деле я немного смущен. Хотя я читал несколько ресурсов об этом.

Для тестирования Selenium 3 с использованием ChromeBrowser нам понадобится дополнительное приложение под названием ChromeDriver.

Я нашел этот текст из GitHub:

ChromeDriver совместим только с Chrome версии 12.0.712.0 или новее. Если вам нужно протестировать более старую версию Chrome, используйте Selenium RC и экземпляр WebDriver с Selenium-поддержкой.

Мой вопрос: все ли версии ChromeDriver совместимы со всеми версиями Chrome? Нет конфликта между каждой версией?

Где я могу найти документацию по всем версиям, совпадающим между ChromeDriver и ChromeBrowser?

Ответы

Ответ 1

Я обнаружил, что политика поддержки версий chrome и chromedriver недавно изменилась.

Как указано на странице загрузки:

.Существует общее руководство по выбору версии crhomedriver для конкретной версии Chrome: https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection

Вот выдержка:

  • Сначала узнайте, какую версию Chrome вы используете. Допустим, у вас есть Chrome 72.0.3626.81.
  • Возьмите номер версии Chrome, удалите последнюю часть и добавьте результат к URL-адресу "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_". Например, в версии Chrome 72.0.3626.81 вы получите URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_72.0.3626".
  • Используйте URL-адрес, созданный на последнем шаге, чтобы получить небольшой файл, содержащий версию ChromeDriver для использования. Например, по указанному выше URL вы получите файл, содержащий "72.0.3626.69". (Фактическое число может измениться в будущем, конечно.)
  • Используйте номер версии, полученный на предыдущем шаге, для создания URL-адреса для загрузки ChromeDriver. В версии 72.0.3626.69 URL-адрес будет "https://chromedriver.storage.googleapis.com/index.html?path=72.0.3626.69/".
  • После первоначальной загрузки рекомендуется периодически повторять описанный выше процесс, чтобы узнать, есть ли какие-либо исправления ошибок.

Обратите внимание, что этот алгоритм выбора версии может быть легко автоматизирован. Например, простой сценарий powershell в другом ответе имеет автоматическое обновление chromedriver на платформе Windows.

Ответ 2

Матрица совместимости

Вот диаграмма совместимости между хромедрайвером и хромом. Эту информацию можно найти на странице загрузок Chromedriver.

chromedriver    chrome
2.46            71-73
2.45            70-72
2.44            69-71
2.43            69-71
2.42            68-70
2.41            67-69
2.40            66-68
2.39            66-68
2.38            65-67
2.37            64-66
2.36            63-65
2.35            62-64
2.34            61-63
2.33            60-62
---------------------
2.28            57+
2.25            54+
2.24            53+
2.22            51+
2.19            44+
2.15            42+

После 2.46 основная версия ChromeDriver соответствует Chrome

chromedriver    chrome
76.0.3809.68    76
75.0.3770.140   75
74.0.3729.6     74
73.0.3683.68    73

Похоже, что совместимость гарантируется только в этой версии.

Если по какой-то причине вам нужно запустить chromedriver в нескольких версиях Chrome, вставьте номер последней версии Chrome, который вы используете, в руководство по выбору версии Chromedriver, тогда надейтесь на лучшее. Фактическая совместимость будет зависеть от конкретных версий и используемых вами функций.

Все версии не являются кросс-совместимыми.

Например, сегодня у нас была ошибка, когда chromedriver 2.33 пытался запустить это на Chrome 65:

((ChromeDriver) driver).findElement(By.id("firstName")).sendKeys("hello")

Из-за изменений в навигации в Chrome 63, обновленном в Chromedriver 2.34, мы вернулись

неизвестная ошибка: в результате вызова функции отсутствует "значение"

Обновление до Chromedriver 2.37 решило проблему.

Ответ 3

Во-первых, все версии ChromeDriver несовместимы со всеми версиями Chrome.
Иногда я просыпаюсь, запускаю свой скрипт, если он ломается, я обновляю драйвер. Тогда это работает. Chrome тихо обновил себя, не сказав мне.

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

https://chromedriver.storage.googleapis.com/2.26/notes.txt

----------ChromeDriver v2.26 (2016-12-09) ----------

Поддержка Chrome v53-55

На этой странице вы увидите текущую версию https://sites.google.com/a/chromium.org/chromedriver/downloads

Ответ 4

Супер полезно. 1. Для моей версии браузера Chrome: 65.0.3325.181 (стрелка вверх> справка> версия браузера chrome) 2. Я следовал комментариям выше 2a. Не удалось получить результат для " https://chromedriver.storage.googleapis.com/LATEST_RELEASE_65.0.3325.181 " 3. Поэтому мы перешли к шагу № 3. " https://chromedriver.storage.googleapis.com/index.html? path = 65.0.3325.181/ ". 4. скачал версию для моего mac.

Ответ 5

На момент написания этой статьи я обнаружил, что chromedriver 2.46 или 2.36 хорошо работает с Chrome 75.0.3770.100.

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

Я использую Selenium 2 на Windows 10 Machine.

Ответ 6

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

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

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