Which ChromeDriver version is compatible with which Chrome Browser version?

拟墨画扇 提交于 2019-11-26 07:38:49

问题


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?


回答1:


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

As stated on downloads page:

  • If you are using Chrome version 79, please download ChromeDriver 79.0.3945.36
  • If you are using Chrome version 78, please download ChromeDriver 78.0.3904.70
  • If you are using Chrome version 77, please download ChromeDriver 77.0.3865.40
  • If you are using Chrome version 76, please download ChromeDriver 76.0.3809.126
  • If you are using Chrome version 75, please download ChromeDriver 75.0.3770.140
  • If you are using Chrome version 74, please download ChromeDriver 74.0.3729.6
  • If you are using Chrome version 73, please download ChromeDriver 73.0.3683.68
  • For older version of Chrome, please 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.




回答2:


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+

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.

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.




回答3:


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




回答4:


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.



来源:https://stackoverflow.com/questions/41133391/which-chromedriver-version-is-compatible-with-which-chrome-browser-version

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!