哪个 ChromeDriver 版本与哪个 Chrome 浏览器版本兼容?
Posted
技术标签:
【中文标题】哪个 ChromeDriver 版本与哪个 Chrome 浏览器版本兼容?【英文标题】:Which ChromeDriver version is compatible with which Chrome Browser version? 【发布时间】:2017-04-29 05:45:02 【问题描述】:其实我有点困惑。虽然我读到了several resources 这方面的内容。
为了使用 ChromeBrowser 测试 Selenium 3,我们需要一个名为 ChromeDriver 的额外应用程序。
我找到了这个文字from GitHub:
ChromeDriver 仅兼容 Chrome 版本 12.0.712.0 或 较新。如果您需要测试旧版 Chrome,请使用 Selenium RC 和一个 Selenium 支持的 WebDriver 实例。
我的问题是所有 ChromeDriver 版本都兼容所有 Chrome 版本吗?各个版本之间没有冲突吗?
在哪里可以找到 ChromeDriver 和 ChromeBrowser 之间匹配的所有版本的文档?
【问题讨论】:
【参考方案1】:首先,并非所有 ChromeDriver 版本都与所有版本的 Chrome 兼容。 有时我醒来,运行我的脚本,如果它坏了,我更新驱动程序。然后它工作。 Chrome 悄悄地更新了自己,没有告诉我。
作为查找哪些 chromedriver 与哪些 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
【讨论】:
似乎我们需要取消选中该 chrome 浏览器的自动更新。正确的? @ProgrammersBlock 这取决于。通常对我来说更新意味着安全更改,所以我不想错过任何这些。我认为它真正需要的是一个自动检查新 ChromeDrivers 并提前通知我的脚本。 :)【参考方案2】:兼容性矩阵
下面是chromedriver和chrome的兼容性图表。 此信息可在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+
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
似乎只有在该版本中才能保证兼容性。
如果您出于某种原因需要跨多个版本的 chrome 运行 chromedriver,那么请将您正在使用的最新版本的 chrome 插入 Chromedriver version selection guide,然后希望最好。实际兼容性将取决于所涉及的确切版本以及您使用的功能。
所有版本都不是交叉兼容的。
例如,我们今天遇到了一个错误,chromedriver 2.33 试图在 Chrome 65 上运行它:
((ChromeDriver) driver).findElement(By.id("firstName")).sendKeys("hello")
由于 Chrome 63 中的导航更改,在 Chromedriver 2.34 中更新,我们回来了
未知错误:调用函数结果缺少“值”
更新到 Chromedriver 2.37 解决了这个问题。
【讨论】:
【参考方案3】:我发现,chrome 和 chromedriver 版本支持政策最近发生了变化。
如downloads page所述:
If you are using Chrome version | please download chromedriver |
---|---|
Chrome v97 | ChromeDriver 97.0.4692.36 |
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 |
有针对特定chrome版本选择crhomedriver版本的一般指南: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,您将获得一个网址“https://chromedriver.storage.googleapis.com/LATEST_RELEASE_72.0.3626”。 使用上一步中创建的 URL 检索包含要使用的 ChromeDriver 版本的小文件。例如,上面的 URL 会得到一个包含“72.0.3626.69”的文件。 (当然,实际数字将来可能会发生变化。) 使用从上一步中检索到的版本号来构建下载 ChromeDriver 的 URL。对于版本 72.0.3626.69,该 URL 将为“https://chromedriver.storage.googleapis.com/index.html?path=72.0.3626.69/”。 初次下载后,建议您偶尔再过一遍上述流程,看看是否有bug修复发布。请注意,此版本选择算法可以轻松自动化。比如simple powershell script in another answer在windows平台上自动更新chromedriver。
【讨论】:
太棒了...您刚刚想到了自动更新的想法...好吧。 请注意,Chrome 驱动程序 85 自版本 85.0.4183.38 更新至版本 85.0.4183.83 未检测到安装目录的更改。 83今天早些时候出来了。干杯! 我下载了最新版本(根据表格)。在这种情况下Chrome v96
并使用driver = webdriver.Chrome(PATH)
重新运行指向正确PATH
的代码,但仍然收到相同的错误消息......还有什么要做的?【参考方案4】:
在撰写本文时,我发现 chromedriver 2.46 或 2.36 可以很好地与 Chrome 75.0.3770.100 配合使用
此处的文档:http://chromedriver.chromium.org/downloads states align driver and browser alike 但我发现在使用 Chrome 75 时即使使用最新的驱动程序也会出现问题
我在 Windows 10 机器上运行 Selenium 2。
【讨论】:
【参考方案5】:就我而言,我只是通过npm install protractor@latest -g
和npm install webdriver-manager@latest
解决了它。我使用的是 chrome 80.x 版本。它在 Angular 4 和 6 中都适用于我
【讨论】:
【参考方案6】:这是一个有用的网站,列出了 Chrome 最新版本的映射 -
https://www.uitests-chromedrivermapping.com
【讨论】:
【参考方案7】:Chrome 浏览器版本应与 chromeDriver 版本匹配。 转到:chrome://settings/help
如何确认我使用的是正确的 chromedriver?
转到您拥有 chromeDriver 的文件夹 打开指向文件夹的命令提示符 运行:chromeDriver -v【讨论】:
以上是关于哪个 ChromeDriver 版本与哪个 Chrome 浏览器版本兼容?的主要内容,如果未能解决你的问题,请参考以下文章
Selenium ChromeDriver与Chrome版本映射表(更新到v78)
Selenium ChromeDriver与Chrome版本映射表(更新到v78)
python小技能: 搭建selenium与ChromeDriver环境4Mac
如何在 PyCharm 中为 selenium-robotframework 更新 Chromedriver 版本