Webdrivermanager 无法识别最新的 geckodriver 并下载较旧的 geckodriver

Webdrivermanager does not recognize the newest geckodriver and downloads older one

我使用 webdrivermanager

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>4.4.3</version>
</dependency>

和 FF 78.12.0esr(64 位)在 Java.

中带有 selenium 服务器 3.14

geckodriver有多种版本https://github.com/mozilla/geckodriver/releases and according to https://firefox-source-docs.mozilla.org/testing/geckodriver/Support.htmltable我应该可以使用最新版本的驱动程序,因此应该下载0.29.1。

当我在 webdrivermanager 上决定版本时,会下载 0.26 版的 gecko 驱动程序 (WebDriverManager.firefoxdriver().setup();)。 当我强制使用最新版本 (WebDriverManager.firefoxdriver().driverVersion("0.29.1").setup();) 时,会下载较新的驱动程序并在我的测试中正常运行。

为什么 webdriver 没有加载最新版本?

WebDriverManager has an internal knowledge database (called versions database), implemented as a properties file。该数据库映射已知驱动程序和浏览器版本。正如您在该文件中所见,Firefox 78 的已知驱动程序版本是 geckodriver 0.26.0。这并不一定意味着最新版本的 geckodriver(目前为 0.29.1)与该浏览器版本不兼容,但尚未经过测试。

关于最新版本 (0.29.1),在版本数据库中被避免,因为我在 Mac OS 中检测到该版本存在问题(甚至按照发布中的描述进行了公证笔记)。出于这个原因,目前 WebDriverManager 更喜欢 geckodriver 0.29.0 作为最新版本的 Firefox。