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

使用Selenium调用Chrome浏览器时出现IllegalStateException异常的问题求助

解决Selenium中java.lang.IllegalStateException(ChromeDriver路径未配置)的问题

先来看你遇到的错误详情:

Exception in thread "main" java.lang.IllegalStateException: 驱动程序可执行文件的路径必须通过webdriver.chrome.driver系统属性进行设置;更多信息请参阅https://github.com/SeleniumHQ/selenium/wiki/ChromeDriver。最新版本可从https://chromedriver.storage.googleapis.com/index.html下载
at org.openqa.selenium.internal.Require$StateChecker.nonNull(Require.java:280)
at org.openqa.selenium.remote.service.DriverService.findExecutable(DriverService.java:135)
at org.openqa.selenium.chrome.ChromeDriverService.access$000(ChromeDriverService.java:38)
at org.openqa.selenium.chrome.ChromeDriverService$Builder.findDefaultExecutable(ChromeDriverService.java:231)
at org.openqa.selenium.remote.service.DriverService$Builder.build(DriverService.java:437)
at org.openqa.selenium.chrome.ChromeDriverService.createDefaultService(ChromeDriverService.java:127)
at org.openqa.selenium.chrome.ChromeDriver.(ChromeDriver.java:46)
at Selintroduction.main(Selintroduction.java:17)

这个错误本质是Selenium找不到ChromeDriver的可执行文件,必须明确告诉它驱动的位置才行,给你三种靠谱的解决办法:

方法1:代码内直接设置系统属性

在初始化ChromeDriver的代码前面,加上一行设置系统属性的代码,指定ChromeDriver的绝对路径:

// Windows系统示例(注意用双反斜杠或正斜杠)
System.setProperty("webdriver.chrome.driver", "C:\\Users\\YourName\\Downloads\\chromedriver.exe");
// Mac/Linux系统示例
System.setProperty("webdriver.chrome.driver", "/Users/YourName/Downloads/chromedriver");

// 然后再初始化驱动
ChromeDriver driver = new ChromeDriver();

⚠️ 注意:ChromeDriver的版本要和你本地安装的Chrome浏览器版本匹配,不然会出现兼容性问题。

方法2:配置系统环境变量PATH

把ChromeDriver所在的文件夹路径添加到系统的PATH环境变量中,这样Selenium会自动在PATH里查找驱动,不用在代码里设置路径:

  • Windows:右键「此电脑」→「属性」→「高级系统设置」→「环境变量」,在系统变量的PATH中添加ChromeDriver所在文件夹的路径,比如C:\chromedriver-folder
  • Mac/Linux:打开终端,编辑~/.bashrc或~/.zshrc文件,添加一行:
    export PATH=$PATH:/path/to/your/chromedriver/folder
    
    然后执行source ~/.bashrc(或source ~/.zshrc)使配置生效。

方法3:用WebDriverManager自动管理驱动(推荐)

如果用Maven/Gradle等构建工具,可以引入webdrivermanager依赖,它会自动下载对应版本的ChromeDriver,不用手动管理路径和版本:

Maven依赖

<dependency>
    <groupId>io.github.bonigarcia</groupId>
    <artifactId>webdrivermanager</artifactId>
    <version>5.6.3</version>
</dependency>

Gradle依赖

implementation 'io.github.bonigarcia:webdrivermanager:5.6.3'

然后代码里只需要先执行setup,再初始化驱动:

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

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.28 09:22:35