Maven项目调用Selenium启动ChromeDriver进程意外退出问题求助
问题解决步骤
1. 修复POM依赖配置
- 取消Selenium相关依赖的注释,当前配置中所有selenium依赖都被注释,导致核心类加载异常。建议优先使用稳定版而非alpha测试版,且不需要单独引入selenium-remote-driver、selenium-chrome-driver,selenium-java已经包含以上依赖:
<dependency> <groupId>org.seleniumhq.selenium</groupId> <artifactId>selenium-java</artifactId> <version>4.8.0</version> </dependency>
- 移除slf4j-simple的
<scope>test</scope>配置,main方法运行时属于主代码作用域,test范围的依赖不会被加载,会直接触发SLF4J实现类找不到的报错:
<dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>2.0.0-alpha4</version> </dependency>
2. 修复驱动调用代码
项目已经引入webdrivermanager依赖,可直接用它自动匹配下载对应版本的Chrome驱动,不需要手动指定本地路径,避免版本不匹配、路径错误、权限不足等问题;同时访问地址需要补全协议头,否则会被识别为非法地址,修改后的代码如下:
package contactPolicy.com.gui; import io.github.bonigarcia.wdm.WebDriverManager; import org.openqa.selenium.WebDriver; import org.openqa.selenium.chrome.ChromeDriver; public class DriverSetup { public static void main (String [] args){ WebDriverManager.chromedriver().setup(); WebDriver driver = new ChromeDriver(); driver.get("https://www.google.com"); } }
3. Mac系统额外适配(如果坚持手动指定驱动需要完成)
- 手动下载的chromedriver版本需要和本地安装的Chrome浏览器大版本完全匹配
- 给chromedriver赋予执行权限,终端执行命令:
chmod +x /Users/gicastano/IdeaProjects/contactPolicy/chromedriver - 首次运行如果提示无法验证开发者,进入【系统偏好设置-安全性与隐私-通用】,选择允许chromedriver运行
内容的提问来源于stack exchange,提问作者Gina Castaño
相关产品推荐
相关产品推荐

