Rselenium配置问题:ChromeDriver与Chrome版本不匹配该如何解决?
解决Rselenium中Chrome与ChromeDriver版本不匹配的问题
问题场景
使用Azul JDK配置Rselenium前期操作正常,但执行以下R代码时出现版本不匹配错误:
remote_driver <- rsDriver(browser = "chrome", chromever = "114.0.5735.90", verbose = F)
错误信息
Selenium message:session not created: This version of ChromeDriver only supports Chrome version 114 Current browser version is 125.0.6422.113 with binary path C:\Program Files\Google\Chrome\Application\chrome.exe Build info: version: '4.0.0-alpha-2', revision: 'f148142cf8', time: '2019-07-01T21:30:10' System info: host: 'MIE', ip: '10.0.0.235', os.name: 'Windows 11', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_412' Driver info: driver.version: unknown remote stacktrace: Backtrace: GetHandleVerifier [0x002EA813+48355] (No symbol) [0x0027C4B1] (No symbol) [0x00185358] (No symbol) [0x001A61AC] (No symbol) [0x001A1EF3] (No symbol) [0x001A0579] (No symbol) [0x001D0C55] (No symbol) [0x001D093C] (No symbol) [0x001CA536] (No symbol) [0x001A82DC] (No symbol) [0x001A93DD] GetHandleVerifier [0x0054AABD+2539405] GetHandleVerifier [0x0058A78F+2800735] GetHandleVerifier [0x0058456C+2775612] GetHandleVerifier [0x003751E0+616112] (No symbol) [0x00285F8C] (No symbol) [0x00282328] (No symbol) [0x0028240B] (No symbol) [0x00274FF7] BaseThreadInitThunk [0x75757BA9+25] RtlInitializeExceptionChain [0x7713BE7B+107] RtlClearBits [0x7713BDFF+191] (No symbol) [0x00000000] Could not open chrome browser. Client error message: Summary: SessionNotCreatedException Detail: A new session could not be created. Further Details: run errorDetails method Check server log for further details.
解决方案
方法1:更新ChromeDriver匹配当前Chrome版本
- 确认当前Chrome版本为
125.0.6422.113,下载对应版本的ChromeDriver - 修改
rsDriver的chromever参数为匹配版本号,示例代码:remote_driver <- rsDriver(browser = "chrome", chromever = "125.0.6422.113", verbose = F) - 若不确定对应版本,可设置
chromever = "latest",让R自动下载适配当前Chrome的最新ChromeDriver(需保证网络正常)
方法2:降级Chrome浏览器到114版本
- 卸载当前Chrome浏览器,找到Chrome 114版本的安装包进行安装
- 关闭Chrome自动更新功能,防止浏览器自动升级再次出现版本不匹配问题
方法3:使用wdman自动管理驱动
Rselenium依赖的wdman包可自动管理驱动版本,执行以下代码启动匹配的ChromeDriver:
library(wdman) chrome_driver <- chrome(version = "latest") remote_driver <- remoteDriver(browserName = "chrome", port = chrome_driver$port) remote_driver$open()
内容的提问来源于stack exchange,提问作者Dabin Xuan
相关产品推荐
相关产品推荐

