Chrome Driver报错unknown error: unable to discover open pages求助
ChromeDriver崩溃报错:unknown error: unable to discover open pages(Groovy+GEB+Selenium环境)
我使用Groovy基于GEB框架做Selenium自动化测试,Chrome浏览器已更新至110.0.5481.78(64位官方版),并下载了支持110.X版本的ChromeDriver,但更新后ChromeDriver频繁崩溃,报错信息如下:
Caused by: org.openqa.selenium.WebDriverException: unknown error: unable to discover open pages Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03'
解决办法:
- 升级Selenium版本:当前使用的Selenium 3.141.59是2018年的旧版本,对ChromeDriver 110+的兼容性较差,建议升级到Selenium 4.8.0及以上版本,新版本专门适配了Chrome 109+的Driver。
- 严格匹配版本号:确保ChromeDriver的小版本和Chrome浏览器完全对应,比如Chrome是110.0.5481.78,优先下载同小版本的ChromeDriver,避免跨小版本的兼容性问题。
- 添加稳定化启动参数:在GEB的Driver配置中添加以下参数,规避环境层面的限制:
driver = { def chromeOptions = new ChromeOptions() chromeOptions.addArguments("--no-sandbox") chromeOptions.addArguments("--disable-dev-shm-usage") chromeOptions.addArguments("--remote-debugging-port=9222") chromeOptions.addArguments("--disable-gpu") new ChromeDriver(chromeOptions) } - 清理Chrome缓存与临时目录:手动清理Chrome的用户数据缓存,或者在启动参数中指定独立的测试用用户目录,避免缓存损坏导致启动失败:
chromeOptions.addArguments("--user-data-dir=/tmp/geb-chrome-profile") - 禁用Chrome自动更新:防止浏览器自动升级后再次出现版本不匹配的问题,可通过系统设置或组策略关闭Chrome的自动更新功能。
内容的提问来源于stack exchange,提问作者Kishan Bheemajiyani
相关产品推荐
相关产品推荐

