Selenium ChromeDriver启动失败求助:无法创建新会话
问题解决:Selenium无法启动会话+SLF4J提示
一、核心报错:无法启动新会话的解决
你代码里犯了一个关键错误:把ChromeDriver的路径指向了Java依赖jar包,而不是ChromeDriver可执行程序。
错误原因:
System.setProperty("webdriver.chrome.driver","C:\\selenium-java-4.8.0\\selenium-chrome-driver-4.8.0.jar") 这行代码里,selenium-chrome-driver-4.8.0.jar是Selenium的Java依赖包,不是用来启动Chrome的chromedriver.exe(Windows系统下的可执行文件),这直接导致Selenium找不到驱动程序,无法启动浏览器会话。
解决方法(二选一):
方法1:手动配置ChromeDriver
- 查看本地Chrome浏览器的版本(打开Chrome→设置→关于Chrome)
- 下载与浏览器版本完全匹配的ChromeDriver,Windows系统选择带
.exe的压缩包 - 解压后将
chromedriver.exe放到指定路径,比如C:\selenium\chromedriver.exe - 修改代码里的路径:
System.setProperty("webdriver.chrome.driver","C:\\selenium\\chromedriver.exe");
方法2:用Selenium自动管理驱动(推荐)
Selenium 4.6及以上版本自带Selenium Manager工具,可自动下载匹配的ChromeDriver,无需手动设置System.setProperty。直接删掉那行设置属性的代码,保留ChromeDriver driver=new ChromeDriver();即可,工具会自动处理驱动的下载和配置。
二、SLF4J提示的解决
SLF4J的提示仅表示未找到日志实现类,只会导致日志无法正常输出,不影响代码核心功能。若要消除提示,给项目添加SLF4J的日志实现依赖即可:
- 若用Maven,在
pom.xml中添加:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.9</version> </dependency>
- 若用Gradle,在
build.gradle中添加:
implementation 'org.slf4j:slf4j-simple:2.0.9'
内容的提问来源于stack exchange,提问作者FaThima Hussain
相关产品推荐
相关产品推荐

