【问题标题】:Which ChromeDriver version is compatible with which Chrome Browser version?哪个 ChromeDriver 版本与哪个 Chrome 浏览器版本兼容?
【发布时间】: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 之间匹配的所有版本的文档?

【问题讨论】:

    标签: selenium google-chrome version


    【解决方案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所述:

      有针对特定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 -gnpm 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

            【讨论】:

              猜你喜欢
              • 2021-02-25
              • 1970-01-01
              • 1970-01-01
              • 2012-02-23
              • 2021-08-22
              • 2023-03-29
              • 2016-08-13
              • 2016-01-06
              • 2018-04-14
              相关资源
              最近更新 更多