使用RSelenium启动Chrome浏览器提示版本不匹配如何解决
RSelenium chromever版本匹配报错解决方案
问题根因
这个报错是RSelenium依赖的wdman包维护的本地chromedriver可用版本缓存异常导致的,即便你指定的版本出现在报错的可用版本列表中、和本地Chrome版本完全一致,也会因为缓存校验逻辑冲突触发报错。
可行解决方案
- 方案1:清除wdman旧缓存后自动匹配版本
先运行代码删除本地缓存的chromedriver相关文件:
library(wdman) unlink(file.path(app_dir("wdman"), "chromedriver"), recursive = TRUE)
之后修改你的rsDriver调用代码,去掉显式指定的chromever参数,让程序自动匹配本地Chrome对应的驱动版本:
rD <- rsDriver(browser = "chrome", port = 4568L, verbose = F, extraCapabilities = eCaps)
- 方案2:手动更新版本列表后指定版本
如果需要固定chromever参数,先运行代码拉取最新的可用驱动版本列表:
library(wdman) chrome(retcommand = T, update = T)
更新完成后再运行你原来的代码即可正常启动。
- 方案3:手动指定本地驱动路径
如果上述方法都无效,可以手动下载对应96.0.4664.45版本的chromedriver到本地,解压后直接指定驱动路径启动:
# 替换为你本地chromedriver的实际存放路径 driver_path <- "C:/xxx/chromedriver.exe" rD <- rsDriver(chromever = '96.0.4664.45', browser = "chrome", port = 4568L, verbose = F, extraCapabilities = eCaps, path = driver_path)
如果启动仍报错,可以尝试修改port参数为其他未被占用的端口号(比如4897L)再测试。
内容的提问来源于stack exchange,提问作者quetz
相关产品推荐
相关产品推荐

