You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

RSelenium无法连接远程服务器,启动Chrome驱动失败求助

RSelenium启动Chrome驱动报错的解决思路

问题重现

之前正常运行的RSelenium启动代码现在报错:

library(RSelenium)
library(rvest)
library(tidyverse)

driver <- rsDriver(port = 4845L, browser = "chrome", version = "3.141.59")
remdriv <- driver$client

报错信息

运行后返回错误:

checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking phantomjs versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
Warning: Could not determine server status.[1] "Connecting to remote server"
Could not open chrome browser.
Client error message:
Undefined error in httr call. httr output: Failed to connect to localhost port 4845: Connection refused
Check server log for further details.

排查日志

使用wdman查看Selenium服务日志,发现Java无法找到主类,问题出在chromedriver路径的参数解析上:

library(wdman)
selServ <- wdman::selenium(verbose = FALSE)
selServ$log()

日志输出:

$stderr
[1] "Error: Could not find or load main class c(-Dwebdriver.chrome.driver=\"C:\\Users\\Name\\AppData\\Local\\binman\\binman_chromedriver\\win32\\109.0.5414.25.chromedriver.exe\","
[2] "Caused by: java.lang.ClassNotFoundException: c(-Dwebdriver.chrome.driver=\"C:\\Users\\Name\\AppData\\Local\\binman\\binman_chromedriver\\win32\\109.0.5414.25.chromedriver.exe\","

$stdout
character(0)

解决思路

1. 修正参数指定方式

RSelenium新版本中,version参数对应Selenium Server版本,chromedriver版本需要用chromever参数单独指定,不要混用。示例:

# 先确认本地Chrome版本(设置→关于Chrome),比如109.0.5414.25
driver <- rsDriver(
  port = 4845L,
  browser = "chrome",
  version = "3.141.59", # Selenium Server版本
  chromever = "109.0.5414.25" # 对应Chrome版本的chromedriver
)
remdriv <- driver$client

2. 清理旧驱动缓存并重新下载

删除binman存储的旧chromedriver文件,路径为C:\\Users\\Name\\AppData\\Local\\binman\\binman_chromedriver,然后重新运行启动代码,让RSelenium自动下载匹配版本的驱动。

3. 升级相关包

RSelenium和wdman的旧版本可能存在参数解析bug,运行以下命令升级:

update.packages(c("RSelenium", "wdman"))

4. 手动指定驱动路径(备选)

如果自动下载仍有问题,手动下载对应版本的chromedriver,然后通过extraCapabilities指定路径:

driver <- rsDriver(
  port = 4845L,
  browser = "chrome",
  chromever = "109.0.5414.25",
  extraCapabilities = list(
    chromeOptions = list(
      binary = "C:/Program Files/Google/Chrome/Application/chrome.exe"
    )
  )
)

内容的提问来源于stack exchange,提问作者matt_lnrd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 11:02:07