WebDriverManager 导致 Chrome 浏览器版本 116.0.5845.111 的 ChromeDriver 不匹配 - (Selenium 版本 - 3.141.59)

Min*_*ker 5 java selenium-chromedriver selenium-webdriver webdriver-manager

例外

org.openqa.selenium.SessionNotCreatedException: session not created: This version of ChromeDriver only supports Chrome version 114
Current browser version is 116.0.5845.111 with binary path  
Run Code Online (Sandbox Code Playgroud)

pom.xml

<dependency>
  <groupId>org.seleniumhq.selenium</groupId>
  <artifactId>selenium-java</artifactId>
  <version>3.141.59</version>
</dependency>

<dependency>
  <groupId>io.github.bonigarcia</groupId>
  <artifactId>webdrivermanager</artifactId>
  <version>3.7.1</version>
</dependency> 
Run Code Online (Sandbox Code Playgroud)

设置ChromeOptions并最终创建网络驱动程序的代码:


WebDriverManager.chromedriver().setup();
ChromeOptions options = new ChromeOptions();
options.addArguments("--no-sandbox");
options.addArguments("--test-type");
options.addArguments("--start-maximized");
if (setBrowserUI().equals("yes")) {
  options.addArguments("--headless");
}
options.addArguments("Browser.setDownloadBehavior", "allow");
options.addArguments("--disable-extensions");
options.addArguments("--disable-dev-shm-usage");
options.setExperimentalOption("prefs", chromePrefs);
base.driver = new ChromeDriver(options); 
Run Code Online (Sandbox Code Playgroud)

项目限制阻止了所使用的 Selenium 版本的升级。除了更新到 Selenium 版本 4.x 之外还有其他方法可以解决吗?

Sha*_*awn 3

简单的解决方案是将 selenium 升级到,v4.11.0因为该版本的SeleniumManager工具与 chrome 版本兼容116

由于您不想升级selenium,因此下载116的版本并尝试设置手动使用chromedriver的路径。参考下面的代码:chromedriver.exeSystem.setProperty

public static void main(String[] args) {    
    System.setProperty("webdriver.chrome.driver", "C:/<full path>/chromedriver.exe");
    WebDriver driver = new ChromeDriver();
    driver.get("https://www.google.com");        
    System.out.println(driver.getTitle());
}
Run Code Online (Sandbox Code Playgroud)

最新下载链接chromedriver- https://googlechromelabs.github.io/chrome-for-testing/