You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

ChromeDriver版本不匹配引发WebDriverException问题求助

解决Selenium调用旧版ChromeDriver的问题

我来帮你梳理下问题所在,从你的代码和报错信息来看,有几个关键问题需要解决:

1. 核心代码错误:误用System.getProperty设置驱动路径

你当前代码里的System.getProperty()读取系统属性的方法,而不是用来设置ChromeDriver路径的。正确的做法是使用System.setProperty(),并且参数要分成两个独立的字符串(不是用逗号分隔)。

修正后的代码行:

System.setProperty("webdriver.chrome.driver", "D:\\Important\\chromedriver_win32_important\\chromedriver.exe");

2. ChromeDriver与Chrome版本不兼容

从报错信息能看到你的Chrome版本是72.0.3626.119,但你安装的ChromeDriver 2.46仅支持Chrome 69-71版本,这会直接导致连接渲染器失败的问题。你需要下载匹配Chrome 72的ChromeDriver版本(ChromeDriver 2.47或2.48,这两个版本支持Chrome 71-73),替换当前的2.46版本。

3. 清理旧版本残留与环境变量

  • 彻底删除旧版ChromeDriver(2.31)的所有文件,检查系统环境变量PATH中是否还存在旧驱动的路径,如有则移除。
  • 重启你的IDE(比如Eclipse/IntelliJ),清理项目缓存,避免IDE加载缓存的旧驱动路径。

4. 可选:用ChromeDriverManager自动管理驱动版本

如果不想手动维护驱动版本,可以使用ChromeDriverManager库自动下载匹配的驱动。添加依赖后,只需要两行代码就能初始化驱动,不用再手动设置路径:

WebDriverManager.chromedriver().setup();
WebDriver driver = new ChromeDriver();

修正后的完整代码示例

package Testing_Forum;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;

public class XTR {
    public static void main(String arg[]) {
        // 正确设置ChromeDriver路径
        System.setProperty("webdriver.chrome.driver", "D:\\Important\\chromedriver_win32_important\\chromedriver.exe");
        WebDriver driver = new ChromeDriver();
        driver.get("https://www.google.com/");
        driver.manage().window().maximize();
        // 隐式等待设置为10秒更合理,1000秒过长
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
    }
}

内容的提问来源于stack exchange,提问作者Neeti Patil

火山引擎 最新活动