Selenium运行不启动浏览器 Java控制台抛IllegalStateException报错
问题原因
你的代码运行报错、Chrome无法正常启动是两个错误叠加导致的:
- 驱动配置的属性名拼写错误:代码里写的配置键是
webdriver.chrome.drive,末尾少了字母r,Selenium识别Chrome驱动路径的固定配置键为webdriver.chrome.driver,拼写错误后程序完全无法读取你配置的驱动位置,直接抛出状态非法异常。 - 驱动路径配置不符合要求:你填写的路径是驱动所在的文件夹路径
C:\\SeleniumDriver\\chromedriver_win32,该配置必须指向chromedriver.exe可执行文件本身,不能只填上层文件夹路径,即便属性名写对,填文件夹路径也会报找不到驱动文件的错误。 - 额外笔误:代码中
new ChromeDriver()行的注释写的是启动Firefox,实际这行代码的作用是启动Chrome浏览器,该笔误不影响本次报错,但容易对后续代码阅读造成误导。
修复方法
按以下步骤调整即可解决问题:
- 提前确认本地安装的Chrome浏览器大版本号,下载版本完全匹配的ChromeDriver压缩包,解压后记住
chromedriver.exe的完整绝对存储路径,如果你把解压后的文件放在之前的win32文件夹下,对应路径应为C:\\SeleniumDriver\\chromedriver_win32\\chromedriver.exe - 修改代码中的驱动配置行,把属性名修正为正确的
webdriver.chrome.driver,属性值替换为上述chromedriver.exe的完整绝对路径 - (可选)修正代码中的错误注释,避免后续读代码时产生混淆
修复后的可正常运行代码如下:
package firstSeleniumTesting; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class testingAutomation { public static void main(String[] args) { // 配置ChromeDriver系统属性 System.setProperty("webdriver.chrome.driver", "C:\\SeleniumDriver\\chromedriver_win32\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); // 启动Chrome浏览器 driver.close(); } }
内容的提问来源于stack exchange,提问作者Sandeep Nepal
相关产品推荐
相关产品推荐

