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

首次使用RSelenium调用rsDriver时遭遇Connection refused错误求助

RSelenium调用rsDriver失败的解决建议

问题回顾

首次使用RSelenium爬取动态网页,调用rsDriver()时抛出连接拒绝错误,代码如下:

rdriver <- rsDriver(browser = "chrome",
                    port = free_port(),
                    chromever  = "109.0.5414.25")

错误信息:

[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 14415: Connection refused Check
server log for further details. Warning message: In rsDriver(browser =
"chrome", port = free_port(), chromever = "109.0.5414.25") : Could
not determine server status.

版本信息:

  • R 4.2.2
  • Java(TM) SE Development Kit 19.0.2 (64 bit)
  • chromedriver可用版本:109.0.5414.25、109.0.5414.74、110.0.5481.30
  • seleniumserver可用版本:3.141.59、4.0.0-alpha-1、4.0.0-alpha-2

解决建议

  • 严格匹配Chrome浏览器与chromedriver版本
    确认本地安装的Chrome浏览器版本必须和指定的chromever完全一致(包括小版本号)。如果你的Chrome是110版本,就将chromever改为"110.0.5481.30";若Chrome是109.0.5414.74,则对应使用该版本的chromedriver。版本不匹配是最常见的启动失败原因。

  • 手动指定Chrome二进制文件路径
    若RSelenium无法自动定位Chrome,可在参数中手动指定路径:

    rdriver <- rsDriver(
      browser = "chrome",
      port = free_port(),
      chromever = "109.0.5414.25",
      extraCapabilities = list(
        chromeOptions = list(
          binary = "C:/Program Files/Google/Chrome/Application/chrome.exe" # 替换为你的Chrome实际路径
        )
      )
    )
    
  • 临时关闭防火墙/杀毒软件
    错误提示"Connection refused"可能是本地安全软件阻止了端口连接,临时关闭防火墙或杀毒软件后再次尝试调用rsDriver(),确认是否是此原因导致。

  • 指定稳定版Selenium Server
    尝试指定使用兼容性更好的Selenium Server 3.141.59版本:

    rdriver <- rsDriver(
      browser = "chrome",
      port = free_port(),
      chromever = "109.0.5414.25",
      seleniumserverver = "3.141.59"
    )
    
  • 手动启动Selenium Server再连接

    1. 下载对应版本的Selenium Server 3.141.59包,打开命令行执行:
      java -jar selenium-server-standalone-3.141.59.jar
      
    2. 在R中直接使用remoteDriver连接已启动的服务:
      remDr <- remoteDriver(
        remoteServerAddr = "localhost",
        port = 4444,
        browserName = "chrome",
        extraCapabilities = list(
          chromeOptions = list(
            binary = "你的Chrome路径",
            args = c("--no-sandbox")
          )
        )
      )
      remDr$open()
      
  • 降级Java版本
    Selenium 3.x系列对Java 17+版本兼容性较差,建议将Java降级到8或11版本后再尝试。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 16:40:27