Selenium Grid 4.3.0 Chrome/Edge报cannot determine loading status错误
Selenium Grid 环境下Chrome/Edge点击操作崩溃报错解决方案
问题根因
- 该报错为Chrome 103版本的已知Chromium内核通信缺陷,基于同内核的Edge 103版本存在相同问题,使用独立内核的Firefox不受影响
- 触发逻辑为:点击元素触发页面跳转时,Chrome返回的命令响应格式不符合ChromeDriver解析规则,导致Driver无法判定页面加载状态,直接抛出异常
- 现有环境版本组合 Selenium Grid 4.3.0 + Chrome 103.0.5060.114 + ChromeDriver 103.0.5060.53 刚好命中该已知缺陷
修复方案
按落地优先级从高到低排列:
- 优先将节点上的Chrome/Edge浏览器升级至104及以上正式版本,同步更新匹配版本的ChromeDriver/EdgeDriver,该缺陷已在Chromium 104版本中正式修复,升级后可彻底解决问题
- 若暂不具备浏览器升级条件,可在点击操作逻辑外层增加异常捕获+重试机制,或在点击后添加
200ms左右的强制等待,可覆盖绝大多数偶发报错场景 - 临时规避方案:初始化Chrome/Edge驱动实例时,将
pageLoadStrategy参数配置为none,关闭Driver默认的页面加载状态自动校验逻辑;注意使用该方案需要自行实现页面加载完成的判断逻辑,避免后续元素定位出现元素不存在的问题
核心报错信息
org.openqa.selenium.WebDriverException: unknown error: cannot determine loading status from unknown error: unexpected command response (Session info: chrome=103.0.5060.114) Build info: version: '4.3.0', revision: 'a4995e2c09*' System info: host: 'SW000PALASH', ip: '172.17.12.26', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_202' Driver info: org.openqa.selenium.remote.RemoteWebDriver Command: [53fe9505a2bce2a09c1ad83cfcc0b657, clickElement {id=339f8a47-f1b6-47a0-93d8-6bb25fcacc55}]
内容的提问来源于stack exchange,提问作者Palash Chatterjee
相关产品推荐
相关产品推荐

