45

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?

Graham Russell
  • 997
  • 13
  • 24
gumuruh
  • 2,544
  • 4
  • 33
  • 56

7 Answers7

77

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.

Barett
  • 5,826
  • 6
  • 51
  • 55
  • Perfect. For example, if using node and Chrome 96.x, then `npm install chromedriver@96` – ow3n Jan 08 '22 at 17:39
62

I found, that chrome and chromedriver versions support policy has changed recently.

As stated on downloads page:

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.

hal
  • 1,705
  • 1
  • 22
  • 28
  • great... you just came up with an idea of automating the updating things... alright then. – gumuruh Jul 13 '19 at 13:21
  • Please note that the chrome driver 85 updated to Version 85.0.4183.83 since Version 85.0.4183.38 not detecting change to the installation directory. 83 was out earlier today. Cheers! – A Hassan Aug 26 '20 at 08:11
  • I download the latest version (as per the table). In this case `Chrome v96` and re-run the code pointing to the correct `PATH` with `driver = webdriver.Chrome(PATH)`, but still get the same error message... what else is there to do ? – Darren Lefcoe Dec 22 '21 at 14:20
8

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

ProgrammersBlock
  • 5,974
  • 4
  • 17
  • 21
  • seems that we need to un-check the auto-update of that chrome browser. right? @ProgrammersBlock – gumuruh Dec 14 '16 at 04:04
  • 2
    That depends. Usually updates to me mean security changes so I would not want to miss any of those. I think what it really calls for is a script that automatically checks for new ChromeDrivers and notifies me ahead of time. :) – ProgrammersBlock Dec 14 '16 at 11:54
2

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
1

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

Analyst
  • 751
  • 6
  • 15
0

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.

0

This is a helpful website listing the mapping for the latest releases of Chrome -

https://www.uitests-chromedrivermapping.com

KBM
  • 341
  • 4
  • 16