Selenium启动报错求助:疑为ChromeDriver路径或版本不匹配问题
错误信息
线程"main"中出现异常 java.lang.IllegalStateException:必须通过webdriver.chrome.driver系统属性设置驱动可执行文件的路径;更多信息请参见相关文档。最新版本可从官方渠道下载
at com.google.common.base.Preconditions.checkState(Preconditions.java:847)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:134)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:35)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:159)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:355)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:94)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:123)
at Selenium.Open_browser.main(Open_browser.java:14)
解决步骤
1. 确认Chrome与ChromeDriver版本匹配
- 打开Chrome浏览器,通过「右上角菜单→帮助→关于Google Chrome」查看浏览器版本(如
118.0.5993.88) - 下载完全对应大版本的ChromeDriver(比如Chrome是118.x,就下载118.x系列的ChromeDriver)
2. 配置ChromeDriver路径
有两种可行方式:
方式一:代码中直接设置系统属性
在初始化ChromeDriver前,添加路径配置代码:
public class Open_browser { public static void main(String[] args) { // Windows系统示例,替换为你的chromedriver.exe实际路径 System.setProperty("webdriver.chrome.driver", "C:\\chromedriver\\chromedriver.exe"); // macOS/Linux系统示例:"/Users/xxx/Documents/chromedriver" ChromeDriver driver = new ChromeDriver(); driver.get("https://www.example.com"); // 业务逻辑代码... driver.quit(); } }
注意:Windows路径用双反斜杠\\转义,macOS/Linux用正斜杠/,且Linux/mac下要给chromedriver添加执行权限:chmod +x chromedriver
方式二:添加到系统环境变量PATH
- Windows:将chromedriver.exe所在文件夹添加到系统环境变量
PATH中,之后代码无需设置System.setProperty,直接初始化ChromeDriver即可 - macOS/Linux:将chromedriver移动到
/usr/local/bin目录(执行sudo mv chromedriver /usr/local/bin),或把所在文件夹添加到PATH
3. 验证配置
重新运行代码,若仍报错,检查:
- 路径是否拼写错误,文件是否存在
- Chrome与ChromeDriver版本是否严格匹配
- Linux/mac下是否给chromedriver赋予了执行权限
内容的提问来源于stack exchange,提问作者Manichandra

