使用Selenium Java+ChromeDriver时遭遇java.lang.IllegalStateException异常求助
Selenium ChromeDriver 启动时 java.lang.IllegalStateException 异常解决
使用Selenium Java结合ChromeDriver开展自动化测试时,运行下述代码触发java.lang.IllegalStateException异常:
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class SeIntro { public static void main(String[] args) { System.setProperty("webdriver.chrome.driver","C:\Users\ramak\Downloads\chromedriver_win32.zip.exe" ); WebDriver driver=new ChromeDriver(); } }
异常截图:
问题原因及解决方案
- 错误的ChromeDriver路径:你指定的路径
C:\Users\ramak\Downloads\chromedriver_win32.zip.exe是压缩包错误加了.exe后缀的无效路径。需先解压chromedriver_win32.zip压缩包,得到真实的chromedriver.exe可执行文件,再使用该文件的路径。 - 字符串转义问题:Java字符串中的反斜杠需要转义,要么使用双反斜杠
\\,要么用正斜杠/替代。例如正确路径写法为"C:\\Users\\ramak\\Downloads\\chromedriver.exe"或"C:/Users/ramak/Downloads/chromedriver.exe"。 - 版本不匹配:ChromeDriver版本必须与本地安装的Chrome浏览器大版本完全一致(如Chrome为118.x,ChromeDriver也需用118.x版本),版本不兼容会直接触发该异常。
- 权限不足:如果当前运行程序的用户没有
chromedriver.exe文件的读写/执行权限,也会抛出该异常,需检查并调整文件权限。
修正后的代码示例
import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class SeIntro { public static void main(String[] args) { // 正确配置ChromeDriver路径(已解压+转义) System.setProperty("webdriver.chrome.driver", "C:\\Users\\ramak\\Downloads\\chromedriver.exe"); WebDriver driver = new ChromeDriver(); // 可选:添加测试步骤验证启动成功 driver.get("https://www.baidu.com"); } }
内容的提问来源于stack exchange,提问作者Ramakrishna Kasa
相关产品推荐
相关产品推荐

