Which ChromeDriver version is compatible with which Chrome Browser version? - selenium

Actually I'm a bit confused. Although I read several resources about this.
For having a test of Selenium 3 using ChromeBrowser we need an extra app called ChromeDriver.
I found this text from GitHub:
ChromeDriver is only compatible with Chrome version 12.0.712.0 or
newer. If you need to test an older version of Chrome, use Selenium RC
and a Selenium-backed WebDriver instance.
My question is are all ChromeDriver versions compatible with all Chrome version? No conflict between each version?
Where can I find documentation of all versions matching between the ChromeDriver & ChromeBrowser?

After 2.46, the ChromeDriver major version matches Chrome
chromedriver chrome
76.0.3809.68 76
75.0.3770.140 75
74.0.3729.6 74
73.0.3683.68 73
It seems compatibility is only guaranteed within that revision.
If you need to run chromedriver across multiple versions of chrome for some reason, well, plug the latest version number of chrome you're using into the Chromedriver version selection guide, then hope for the best. Actual compatibility will depend on the exact versions involved and what features you're using.
Older version compatibility matrix
Here is a chart of the compatibility between chromedriver and chrome.
This information can be found at the Chromedriver downloads page.
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+
All versions are not cross-compatible.
For example, we had a bug today where chromedriver 2.33 was trying to run this on Chrome 65:
((ChromeDriver) driver).findElement(By.id("firstName")).sendKeys("hello")
Due to the navigation changes in Chrome 63, updated in Chromedriver 2.34, we got back
unknown error: call function result missing 'value'
Updating to Chromedriver 2.37 fixed the issue.

I found, that chrome and chromedriver versions support policy has changed recently.
As stated on downloads page:
If you are using Chrome version
please download chromedriver
Chrome v107
ChromeDriver 107.0.5304.18
Chrome v106
ChromeDriver 106.0.5249.61
Chrome v105
ChromeDriver 105.0.5195.52
Chrome v104
ChromeDriver 104.0.5112.79
Chrome v103
ChromeDriver 103.0.5060.134
Chrome v102
ChromeDriver 102.0.5005.61
Chrome v101
ChromeDriver 101.0.4951.41
Chrome v100
ChromeDriver 100.0.4896.60
Chrome v99
ChromeDriver 99.0.4844.51
Chrome v98
ChromeDriver 98.0.4758.102
Chrome v97
ChromeDriver 97.0.4692.71
Chrome v96
ChromeDriver 96.0.4664.45
Chrome v95
ChromeDriver 95.0.4638.69
Chrome v94
ChromeDriver 94.0.4606.113
Chrome v93
ChromeDriver 93.0.4577.63
Chrome v92
ChromeDriver 92.0.4515.107
Chrome v91
ChromeDriver 91.0.4472.101
Chrome v90
ChromeDriver 90.0.4430.24
Chrome v89
ChromeDriver 89.0.4389.23
Chrome v88
ChromeDriver 88.0.4324.96
Chrome v87
ChromeDriver 87.0.4280.88
Chrome v86
ChromeDriver 86.0.4240.22
Chrome v85
ChromeDriver 85.0.4183.87
Chrome v84
ChromeDriver 84.0.4147.30
Chrome v83
ChromeDriver 83.0.4103.39
Chrome v81
ChromeDriver 81.0.4044.69
Chrome v80
ChromeDriver 80.0.3987.106
Chrome v79
ChromeDriver 79.0.3945.36
Chrome v78
ChromeDriver 78.0.3904.105
Chrome v77
ChromeDriver 77.0.3865.40
Chrome v76
ChromeDriver 76.0.3809.126
Chrome v75
ChromeDriver 75.0.3770.140
Chrome v74
ChromeDriver 74.0.3729.6
Chrome v73
ChromeDriver 73.0.3683.68
older version of Chrome
see Barett's anwer
There is general guide to select version of crhomedriver for specific chrome version: https://sites.google.com/a/chromium.org/chromedriver/downloads/version-selection
Here is excerpt:
First, find out which version of Chrome you are using. Let's say you have Chrome 72.0.3626.81.
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 72.0.3626.81, you'd get a URL "https://chromedriver.storage.googleapis.com/LATEST_RELEASE_72.0.3626".
Use the URL created in the last step to retrieve a small file containing the version of ChromeDriver to use. For example, the above URL will get your a file containing "72.0.3626.69". (The actual number may change in the future, of course.)
Use the version number retrieved from the previous step to construct the URL to download ChromeDriver. With version 72.0.3626.69, the URL would be "https://chromedriver.storage.googleapis.com/index.html?path=72.0.3626.69/".
After the initial download, it is recommended that you occasionally go through the above process again to see if there are any bug fix releases.
Note, that this version selection algorithm can be easily automated. For example, simple powershell script in another answer has automated chromedriver updating on windows platform.

For starters, all ChromeDriver versions are not compatible with all versions of Chrome.
Sometimes I wake up, run my script, if it breaks, I update the driver. Then it works. Chrome has quietly updated itself without telling me.
For a starting point of finding which chromedrivers go with which chrome versions
this link brings you to the current release notes. You can look at previous release notes for earlier versions.
https://chromedriver.storage.googleapis.com/2.26/notes.txt
----------ChromeDriver v2.26 (2016-12-09)----------
Supports Chrome v53-55
This page will show you the current release
https://sites.google.com/a/chromium.org/chromedriver/downloads

The Chrome Browser versión should matches with the chromeDriver versión.
Go to : chrome://settings/help
How do I confirm I'm using the right chromedriver?
Go to the folder where you have chromeDriver
Open command prompt pointing the folder
run: chromeDriver -v

In case of mine, I solved it just by npm install protractor#latest -g and npm install webdriver-manager#latest. I am using chrome 80.x version. It worked for me in both Angular 4 & 6

At the time of writing this I have discovered that chromedriver 2.46 or 2.36 works well with Chrome 75.0.3770.100
Documentation here: http://chromedriver.chromium.org/downloads states align driver and browser alike but I found I had issues even with the most up-to-date driver when using Chrome 75
I am running Selenium 2 on Windows 10 Machine.

This is a helpful website listing the mapping for the latest releases of Chrome -
https://www.uitests-chromedrivermapping.com

Related

SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97 using Selenium and ChromeDriver

Installed selenium chromedriver and it shows this:
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
you are using a wrong version of chrome driver go to chrome://version in your chrome browser and take the chromedriver version that is equal to your chrome browser version.
This error message...
SessionNotCreatedException: Message: session not created: This version of ChromeDriver only supports Chrome version 97
...implies that the ChromeDriver was unable to initiate/spawn a new Browsing Context i.e. Chrome Browser session.
Your main issue is the incompatibility between the version of the binaries you are using as follows:
You are using chromedriver=97.0
Release Notes of chromedriver=97.0 clearly mentions the following :
Supports Chrome version 97
Possibly you are using the latest chrome=96.0.4664.93
Release Notes of ChromeDriver v96.0 clearly mentions the following :
Supports Chrome version 96
So there is a clear mismatch between chromedriver=91.0 and the chrome=96.0.4664.45
Solution
Ensure that:
ChromeDriver is updated to current ChromeDriver v96.0 level.
Chrome is updated to current chrome=96.0.4664.45 (as per chrome=96.0.4664.45 release notes).

This version of ChromeDriver only supports Chrome version 84 - But I downloaded ChromeDriver v88

I am working on a Symfony project in which I need to use Panther for testing.
For that, I need the chromeDriver corresponding to my version of Google Chrome.
Google chrome is up to date in its latest version: Version 88.0.4324.104
So I downloaded the ChromeDriver corresponding to version 88 of google chrome, on the ChromeDriver download site: https://chromedriver.chromium.org/downloads
Now when I run the tests with this version of ChromeDriver I get the following error:
Facebook\WebDriver\Exception\SessionNotCreatedException : session not created: This version of ChromeDriver only supports Chrome version 84
If I run manually the ChromeDriver.exe, I can see : Starting ChromeDriver 88.0.4324.96, so it's the good version
I don't understand why, since I have version 88 of Google Chrome, and the correct version of ChromeDriver
EDIT : Here is the answer :
I had this folder: C:/webdrivers with an old chromeDriver. Panther will first search in this folder, before going to look for the chromeDriver in the project/drivers folder
I had this folder: C:/webdrivers with an old chromeDriver. Panther will first search in this folder, before going to look for the chromeDriver in the project/drivers folder

ChromeDriver Version that works with Chrome Version 69.0.3497.81 while using selenium with Python

I had built a web-scraper with an old version of chrome and it was working well and then chrome autoupdated itself with version 69.0.3497.81 and now any website doesn't seem to recognise the web browser while scraping. Is there a version if ChromeDriver that works well? I also tried downgrading chrome to previous versions, but doesn't seem to work anymore
(Note:- I tried ChromeDriver 2.41 and it doesn't work right.)
Thanks in advance
To keep the ChromeDriver Version that works in sync with the respective Chrome Browser Version you can adopt the following strategy:
Keep Auto Update of Chrome Browser OFF
Identify your current Chrome Browser version.
As per the Release Notes of ChromeDriver download the respective ChromeDriver version from ChromeDriver - WebDriver for Chrome
As per best practices:
Keep your Test Environment always updated with the latest ChromeDriver.
Always keep the Chrome Browser updated to the latest GA release.
Note : Each version of ChromeDriver is released considering the support of the:
Latest Released GA version of Chrome Browser
Previous version of Chrome Browser
Next version of Chrome Browser
Here you can find a detailed discussion on How to work with a specific version of ChromeDriver while Chrome Browser gets updated automatically through Python selenium
Specific version of a ChromeDriver binary supports a specific range of Chrome Browser versions as below:
ChromeDriver v2.41 (2018-07-27)
Supports Chrome v67-69
ChromeDriver v2.40 (2018-06-07)
Supports Chrome v66-68
ChromeDriver v2.39 (2018-05-30)
Supports Chrome v66-68
ChromeDriver v2.38 (2018-04-17)
Supports Chrome v65-67
ChromeDriver v2.37 (2018-03-16)
Supports Chrome v64-66
ChromeDriver v2.36 (2018-03-02)
Supports Chrome v63-65
ChromeDriver v2.35 (2018-01-10)
Supports Chrome v62-64
ChromeDriver v2.34 (2017-12-10)
Supports Chrome v61-63
ChromeDriver v2.33 (2017-10-03)
Supports Chrome v60-62
ChromeDriver v2.32 (2017-08-30)
Supports Chrome v59-61
ChromeDriver v2.31 (2017-07-21)
Supports Chrome v58-60
ChromeDriver v2.30 (2017-06-07)
Supports Chrome v58-60
ChromeDriver v2.29 (2017-04-04)
Supports Chrome v56-58
Simply add you google account in the emulator and update google chrome from playstore to work it for latest chrome driver.

does latest chromedriver 2.33 needs selenium 3

I am using Selenium 2.52 and chromedriver 2.29 for chrome browser version 57.
But I could see chrome browser version got updated to latest version 61 in selenium nodes and so tests are failing with "org.openqa.selenium.WebDriverException: unknown error: Element is not clickable
".
So I have updated the chromedriver version to latest 2.33 since the Chrome browser version is the latest.
some tests are getting passed and still, I could see some tests are failing with same error or similar type of error.
Is it required to update Selenium version to any latest version or Selenium 3 to use latest chromedriver?
Your selenium version is an old version. With the latest "browser"driver (ChromeDriver 2.33, in your case) is recommended to use Selenium 3.5 (and greater)

Selenium webdriver 2.41.0 with Firefox V 46 and Chrome V 51

I am using selenium 2.41.0 that works fine with all versions of IE 11, but it is not supporting Firefox 46.0 and Chrome 51 [Chrome supports till 50th version with the latest driver 2.21]. Could anyone guide me what I need to do to support latest versions of Firefox and Chrome? Do I need to upgrade Web driver or Firefox/Chrome Drivers.
If you want to work with latest version Chrome (v 51 as of now) update your
selenium chrome driver to latest according to your browser version.
To work with Firefox v46 and above you need to use gecko driver by using latest version of selenium jars v3.0.1.