在Eclipse中运行Selenium脚本遇ChromeDriver配置错误,如何解决?
错误信息(中文翻译)
警告:无法通过Selenium Manager获取驱动程序:运行命令出错:[C:\Users\Acer\AppData\Local\Temp\selenium-manager15855651361320015355641543438297284\selenium-manager.exe, --driver, chromedriver]
Build信息:版本: '4.6.0', 修订版: '79f1c02ae20'
系统信息: os.name: 'Windows 11'
主线程异常:java.lang.IllegalStateException: 必须通过webdriver.chrome.driver系统属性设置驱动可执行文件的路径;更多信息请查看相关文档。最新版本可从对应下载页面获取
at org.openqa.selenium.internal.Require$StateChecker.nonNull(Require.java:314)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:148)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:39)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:233)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:450)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:128)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:49)
at basics.Test1.main(Test1.java:10)
解决办法
1. 手动指定ChromeDriver路径
- 下载与本地Chrome浏览器版本匹配的ChromeDriver,解压后将
chromedriver.exe放到固定路径(如D:\selenium_drivers\chromedriver.exe) - 在代码开头添加系统属性设置,示例:
注意路径需用双反斜杠或正斜杠,避免转义错误。System.setProperty("webdriver.chrome.driver", "D:\\selenium_drivers\\chromedriver.exe"); ChromeDriver driver = new ChromeDriver();
2. 修复Selenium Manager自动获取驱动的问题
Selenium 4.6+自带的Selenium Manager本应自动下载匹配驱动,出现错误可尝试:
- 右键Eclipse选择「以管理员身份运行」,确保程序有读写临时文件夹的权限
- 清理
C:\Users\Acer\AppData\Local\Temp中所有selenium-manager相关的临时文件,重新运行脚本 - 检查网络环境,确保可正常访问驱动下载源,避免被防火墙或代理拦截
3. 验证版本匹配
打开Chrome浏览器,输入chrome://version/查看版本号,下载对应大版本的ChromeDriver(如Chrome为118.x,则下载118.x系列的ChromeDriver),版本不匹配会直接导致驱动启动失败。
内容的提问来源于stack exchange,提问作者Nishant S

