Selenium Chrome启动崩溃问题求助(已尝试常见解决方法)
Chrome启动崩溃:Selenium Java脚本无法在Chrome中运行
已尝试的解决方案
- 取消以管理员身份运行
- 添加多个启动参数
代码片段
ChromeOptions options = new ChromeOptions(); //options.setExperimentalOption("debuggerAddress", "127.0.0.1:9222"); options.setBinary("C:/Program Files/Google/Chrome/Application/chrome.exe"); options.addArguments("--no-sandbox"); options.addArguments("--headless"); options.addArguments("--disable-gpu"); options.setExperimentalOption("useAutomationExtension", false); options.addArguments("start-maximized"); // open Browser in maximized mode options.addArguments("--disable-extensions"); // disabling extensions options.addArguments("--disable-dev-shm-usage"); options.addArguments("--remote-debugging-port=9222");
环境信息
- Chrome版本:108.0.5359.125
- selenium-java版本:3.141.59
- selenium-server版本:3.4.0
- 使用Web Driver Manager
- 操作系统:Win10
错误日志
"C:\Program Files\Java\jdk1.8.0_351\bin\java.exe" -C:/Users/..../ISA/src/test/resources/Checklist/NFTE1_Confirm_login.feature Testing started at 09:07 AM ... inside chrome browser configuration SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder". SLF4J: Defaulting to no-operation (NOP) logger implementation SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details. Starting ChromeDriver 108.0.5359.71 (1e0e3868ee06e91ad636a874420e3ca3ae3756ac-refs/branch-heads/5359@{#1016}) on port 35499 Only local connections are allowed. Please see https://chromedriver.chromium.org/security-considerations for suggestions on keeping ChromeDriver safe. ChromeDriver was started successfully. [1674119263.153][WARNING]: Deprecated chrome option is ignored: useAutomationExtension [1674119263.156][WARNING]: Deprecated chrome option is ignored: useAutomationExtension Skipped step Skipped step Executed scenario successfully Failed scenarios: C:/Users/...../ISA/src/test/resources/Checklist/NFTE1_Confirm_login.feature:15 # Scenario Outline: Login to ISA 1 Scenarios (1 failed) 2 Steps (2 skipped) 0m20.488s org.openqa.selenium.WebDriverException: unknown error: Chrome failed to start: crashed. (chrome not reachable) (The process started from chrome location C:/Program Files/Google/Chrome/Application/chrome.exe is no longer running, so ChromeDriver is assuming that Chrome has crashed.)
解决建议
统一Selenium组件版本:selenium-server版本3.4.0与selenium-java的3.141.59版本差距过大,存在兼容性问题,将selenium-server升级至3.141.59。
清理冲突/废弃参数:
- 移除
start-maximized:无头模式下无需设置窗口最大化,该参数会引发冲突。 - 删除
useAutomationExtension相关代码:该参数已被Chrome废弃,无需保留。 - 暂时移除
--remote-debugging-port=9222:避免端口占用或与调试模式冲突,排查完成后再按需添加。
- 移除
更新无头模式参数:将旧的
--headless替换为--headless=new,Chrome 108对新无头模式的兼容性更好。清理残留进程:运行脚本前,手动结束所有Chrome、Chromedriver相关进程,避免残留进程导致启动失败。
调整后的示例代码:
ChromeOptions options = new ChromeOptions(); options.setBinary("C:/Program Files/Google/Chrome/Application/chrome.exe"); options.addArguments("--no-sandbox"); options.addArguments("--headless=new"); options.addArguments("--disable-gpu"); options.addArguments("--disable-extensions"); options.addArguments("--disable-dev-shm-usage");
- 检查权限与缓存:
- 确认Chrome安装目录、项目目录具备读写权限,避免权限不足导致启动失败。
- 验证Web Driver Manager是否正确下载了与Chrome 108匹配的Chromedriver,清理工具的缓存后重新运行。
内容的提问来源于stack exchange,提问作者Mahi
相关产品推荐
相关产品推荐

