Windows 2019环境下Selenium启动Chrome浏览器报错求助
解决Windows 2019下Selenium启动ChromeDriver的“driver executable must exist”错误
以下是针对该问题的具体解决方法:
先查路径和权限
- 手动打开
C:\chromedriver_win32路径,确认chromedriver.exe确实存在,没被误删或移走。 - 右键
chromedriver.exe选「属性」→「安全」,给运行代码的用户(比如程序账号、当前登录账号)加上读取和执行权限——Windows 2019对文件权限管控更严,这步很容易忽略。
- 手动打开
必须保证ChromeDriver和Chrome版本匹配
Windows 2019上的Chrome版本大概率和旧系统不一样,驱动和浏览器版本不对应直接报错:- 打开Chrome,输入
chrome://version/查看当前浏览器版本。 - 下载同大版本的ChromeDriver(比如Chrome是118.x,就下118.x的驱动),替换原路径里的旧驱动。
- 打开Chrome,输入
改用WebDriverManager自动管驱动(最省心)
手动设路径容易踩坑,用WebDriverManager能自动下载适配的驱动,不用自己维护路径:- 先给项目加依赖(Maven示例):
<dependency> <groupId>io.github.bonigarcia</groupId> <artifactId>webdrivermanager</artifactId> <version>5.4.1</version> <scope>test</scope> </dependency> - 修改代码,删掉
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); }
- 先给项目加依赖(Maven示例):
加路径到系统环境变量
把C:\chromedriver_win32添加到系统PATH环境变量里,这样Selenium不用指定路径也能找到驱动,添加后记得重启IDE或程序进程生效。
内容的提问来源于stack exchange,提问作者Carter0615
相关产品推荐
相关产品推荐

