在Selenium WebDriver中启动ChromeDriver报错:路径正确仍抛IllegalStateException
解决Selenium启动ChromeDriver时的IllegalStateException问题
嗨,我一眼就看到你代码里的一个明显问题,先给你指出来,再说说其他可能的排查方向:
- 先修正最致命的小错误:属性名的空格
你在System.setProperty里写的属性名" webdriver.chrome.driver"前面多了个空格!Selenium是严格匹配属性名的,这个空格会导致系统识别不到正确的驱动配置,直接抛出异常。把空格去掉就好,修正后的代码片段:
public class sampledr { public static void main(String[] args) throws Exception { System.setProperty("webdriver.chrome.driver","C:\\Program Files (x86)\\Common Files\\chromedriver.exe"); WebDriver d= new ChromeDriver(); } }
检查ChromeDriver和Chrome浏览器的版本匹配度
这是Selenium新手常踩的坑:ChromeDriver的版本必须和你本地安装的Chrome浏览器大版本完全对应(比如Chrome是119.x,ChromeDriver也得用119.x的版本)。如果版本不兼容,哪怕路径正确也会抛出异常。你可以查看Chrome的版本(设置→关于Chrome),然后下载对应版本的ChromeDriver。确认驱动路径的真实性
再仔细核对一下你写的路径C:\\Program Files (x86)\\Common Files\\chromedriver.exe,确保这个文件真的存在于该位置。有时候可能你误放了驱动文件夹,或者路径里的空格虽然Java转义了,但还是建议试试把驱动放到一个没有空格的路径下(比如C:\\chromedriver.exe),这样能避免很多路径相关的奇怪问题。检查文件权限
如果以上都没问题,那可能是权限问题:当前运行程序的用户没有读取或执行chromedriver.exe的权限。右键点击该文件→属性→安全,确认当前用户有对应的读写和执行权限。
内容的提问来源于stack exchange,提问作者 mounika
相关产品推荐
相关产品推荐

