RSelenium与ChromeDriver报错:无法打开Chrome浏览器
解决Chrome 110版本下RSelenium rsDriver连接拒绝问题
严格匹配ChromeDriver与Chrome版本
这次Chrome更新到110.0.5481.78,你之前用的110.0.5481.77虽主版本一致,但小版本差异可能触发兼容性问题。下载和Chrome完全一致版本号的ChromeDriver后,指定版本启动:rD <- rsDriver( browser = "chrome", port = 9537L, chromever = "110.0.5481.78", # 填写与Chrome完全匹配的ChromeDriver版本号 extraCapabilities = list( chromeOptions = list( args = c("--no-sandbox") # 解决权限不足导致的启动失败 ) ) )更换未被占用的端口
端口9537可能被其他程序占用,直接换个端口重试:rD <- rsDriver(browser = "chrome", port = 9538L, chromever = "110.0.5481.78")也可先排查端口占用情况:Windows用
netstat -ano | findstr :9537,macOS/Linux用lsof -i :9537,关闭占用端口的进程后再尝试。临时禁用Chrome自动更新
Chrome后台自动更新可能导致版本突然不匹配,临时关闭更新:- Windows:打开组策略编辑器,进入「计算机配置→管理模板→Google→Google Chrome→更新」,启用「禁用自动更新」
- macOS:终端执行
defaults write com.google.Chrome AutoUpdateDisabled -bool true
改用独立Selenium Server启动
若rsDriver内置服务器异常,可手动启动独立Selenium Server:- 下载对应版本的Selenium Server Standalone包
- 命令行运行:
java -jar selenium-server-standalone-xxx.jar(替换xxx为实际版本号) - R中连接:
remDr <- remoteDriver( remoteServerAddr = "localhost", port = 4444L, browserName = "chrome" ) remDr$open()
排查权限问题
以管理员/root权限运行R或RStudio,避免ChromeDriver启动时被权限限制;添加--no-sandbox参数也能解决沙箱模式的启动障碍(代码参考第一条)。
内容的提问来源于stack exchange,提问作者Dalton Linkus
相关产品推荐
相关产品推荐

