RSelenium启动报错:ChromeDriver与浏览器版本不兼容,替换后仍报错如何解决
问题原因说明
- 为什么本地Chrome为96版本,却存在对应97版本的ChromeDriver:
RSelenium的rsDriver()函数默认逻辑是自动拉取适配最新正式版Chrome的ChromeDriver,不会主动匹配本地安装的浏览器版本,也不会优先读取系统环境变量中配置的驱动,因此运行代码时它自动下载了当时最新的对应Chrome97的驱动,才会触发版本不兼容报错。 - 不需要覆盖原有97版本的ChromeDriver,通过参数指定即可解决问题。
解决方法
方法1:直接指定ChromeDriver版本(最便捷)
你已经下载了对应96.0.4664.45版本的驱动,只需要在调用rsDriver()时添加chromever参数指定版本号即可,不需要调整系统环境变量配置,修改后的代码如下:
library(RSelenium) library(RCurl) # 直接指定对应版本的chromedriver driver <- rsDriver(browser = "chrome", chromever = "96.0.4664.45") remDr <- driver[["client"]] remDr$open()
方法2:强制读取系统环境变量中的驱动
如果希望RSelenium优先使用配置在系统Path中的ChromeDriver,可以关闭自动检查更新的逻辑,代码如下:
library(RSelenium) library(RCurl) # 关闭自动下载驱动逻辑,优先读取系统路径中的驱动 driver <- rsDriver(browser = "chrome", chromever = NULL, check = FALSE) remDr <- driver[["client"]] remDr$open()
注意事项
如果修改代码后仍然报错,可先打开任务管理器,结束所有后台运行的chromedriver.exe进程,避免残留的旧版本进程引发冲突,也可以在rsDriver()中添加port参数指定未被占用的端口,例如port = 4567L。
内容的提问来源于stack exchange,提问作者BillyBouw
相关产品推荐
相关产品推荐

