Selenium Standalone启动Chrome失败,运行WebdriverIO测试时标签崩溃
Selenium Standalone启动Chrome后短暂崩溃问题解决方案
问题复现
使用如下命令启动Selenium Standalone服务:
java -Dwebdriver.chrome.driver=chromedriver-new.exe -jar selenium-server.jar standalone --host 127.0.0.1 --port 4444
触发针对Chrome的WebdriverIO测试时,Chrome仅短暂打开就直接崩溃,返回错误信息如下:
错误内容翻译:
{ "traceId": "faca75a3db657eed4b96bdac93977746", "eventTime": 1637343152240678600, "eventName": "exception", "attributes": { "driver.url": "http://localhost:57786", "exception.message": "与驱动服务创建会话时出错,正在停止驱动服务:无法创建新会话。响应码500。信息:会话未创建,原因是标签页崩溃(会话信息:chrome=96.0.4664.45)\n构建信息:版本:'4.0.0',修订版:'3a21814679'\n系统信息:主机:'',IP:'192.168.0.11',操作系统:'Windows 10',系统架构:'x86',系统版本:'10.0',Java版本:'1.8.0_311'\n驱动信息:驱动版本:未知", "exception.stacktrace": "org.openqa.selenium.SessionNotCreatedException: 无法创建新会话。响应码500。信息:会话未创建,原因是标签页崩溃(会话信息:chrome=96.0.4664.45)\n构建信息:版本:'4.0.0',修订版:'3a21814679'\n系统信息:主机:'',IP:'192.168.0.11',操作系统:'Windows 10',系统架构:'x86',系统版本:'10.0',Java版本:'1.8.0_311'\n驱动信息:驱动版本:未知\n\t...(堆栈跟踪省略)", "exception.type": "org.openqa.selenium.SessionNotCreatedException", "logger": "org.openqa.selenium.grid.node.config.DriverServiceSessionFactory", "session.capabilities": "{\"acceptInsecureCerts\": true,\"browserName\": \"chrome\",\"goog:chromeOptions\": {\"args\": [ \"--disable-gpu\" ] } }" } }
根因定位
根据错误返回的会话未创建,原因是标签页崩溃信息,结合配置内容,核心原因有以下几种可能:
- Chrome浏览器与ChromeDriver版本不匹配:你使用的Chrome版本是96.0.4664.45,需确认
chromedriver-new.exe的版本是否完全对应Chrome 96的正式版,大版本号必须完全一致,小版本号也要尽量匹配 - 缺少必要的Chrome启动参数:Windows环境下运行自动化Chrome时,仅加
--disable-gpu不足以规避权限和沙箱问题 - 32位系统兼容性问题:你的系统是x86架构的Windows 10,需确认Chrome和ChromeDriver都是32位版本,64位程序在32位系统上运行会出现异常崩溃
修复方案
按优先级依次尝试以下操作:
- 确认版本匹配:在Chrome地址栏输入
chrome://version/查看完整版本号,下载对应版本的ChromeDriver替换现有chromedriver-new.exe - 补充Chrome启动参数:修改WebdriverIO的capabilities配置,在
goog:chromeOptions的args中添加以下参数:
其中"args": [ "--disable-gpu", "--no-sandbox", "--disable-dev-shm-usage", "--disable-extensions", "--start-maximized" ]--no-sandbox是Windows环境下解决标签页崩溃最常用的参数,关闭沙箱可以规避权限不足导致的进程启动失败 - 校验程序架构:确认你使用的Chrome、ChromeDriver、JDK都是32位版本,和x86架构的Windows系统匹配
- 检查文件权限:确认
chromedriver-new.exe、selenium-server.jar所在目录没有读写权限限制,不要放在系统盘的Program Files等需要管理员权限的目录下
验证方法
修改完成后重启Selenium Standalone服务,再触发测试即可验证是否修复。
内容的提问来源于stack exchange,提问作者DevX
相关产品推荐
相关产品推荐

