You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Windows 2019环境下Selenium启动Chrome浏览器报错求助

解决Windows 2019下Selenium启动ChromeDriver的“driver executable must exist”错误

以下是针对该问题的具体解决方法:

  • 先查路径和权限

    1. 手动打开C:\chromedriver_win32路径,确认chromedriver.exe确实存在,没被误删或移走。
    2. 右键chromedriver.exe选「属性」→「安全」,给运行代码的用户(比如程序账号、当前登录账号)加上读取和执行权限——Windows 2019对文件权限管控更严,这步很容易忽略。
  • 必须保证ChromeDriver和Chrome版本匹配
    Windows 2019上的Chrome版本大概率和旧系统不一样,驱动和浏览器版本不对应直接报错:

    1. 打开Chrome,输入chrome://version/查看当前浏览器版本。
    2. 下载同大版本的ChromeDriver(比如Chrome是118.x,就下118.x的驱动),替换原路径里的旧驱动。
  • 改用WebDriverManager自动管驱动(最省心)
    手动设路径容易踩坑,用WebDriverManager能自动下载适配的驱动,不用自己维护路径:

    1. 先给项目加依赖(Maven示例):
      <dependency>
          <groupId>io.github.bonigarcia</groupId>
          <artifactId>webdrivermanager</artifactId>
          <version>5.4.1</version>
          <scope>test</scope>
      </dependency>
      
    2. 修改代码,删掉System.setProperty("webdriver.chrome.driver","C:\\chromedriver_win32\\chromedriver.exe");这行,换成:
      WebDriverManager.chromedriver().setup();
      
      调整后的openBrowser方法:
      public void openBrowser() 
      {
          System.out.println("Initiating chrome browser");
          WebDriverManager.chromedriver().setup();
          
          ChromeOptions options = new ChromeOptions();
          options.addArguments("--remote-allow-origins=*");
          driver = new ChromeDriver(options);
          driver.manage().window().maximize();
          System.out.println("Browser Initiated");
          String browserNotification = "Browser Initiated";
          notificationArray.add(browserNotification);
      }
      
  • 加路径到系统环境变量
    把C:\chromedriver_win32添加到系统PATH环境变量里,这样Selenium不用指定路径也能找到驱动,添加后记得重启IDE或程序进程生效。

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.12 06:32:51