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

RSelenium创建服务器失败求助:rsDriver报错及连接被拒

RSelenium初始化失败问题排查与解决

问题背景

此前RSelenium运行正常,近期出现异常,已更新核心R包及Java环境,问题仍未解决。

执行代码

library(wdman)
library(RSelenium)
library(xml2)
library(selectr)
library(httr)
library(jsonlite)
#start RSelenium
remDr <- rsDriver(
  port = 4445L,
  browser = "firefox"
)
#remDr$open()
remDr <- remoteDriver(port = 4445L,browser = "firefox")

错误信息

1. rsDriver初始化报错

checking Selenium Server versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking chromedriver versions:
BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD
checking geckodriver versions:
BEGIN: PREDOWNLOAD
Error in (function (url, platform, history, appname, platformregex = platform,  : 
  unused argument (fileregex = "\\.(gz|zip)$")

2. remoteDriver连接失败

执行remDr$open()后输出:

[1] "Connecting to remote server"
Error in checkError(res) : 
  Undefined error in httr call. httr output: Failed to connect to localhost port 4445: Connection refused

会话信息

sessionInfo()

输出:

R version 4.1.2 (2021-11-01)
Platform: x86_64-w64-mingw32/x64 (64-bit)
Running under: Windows 10 x64 (build 19044)

Matrix products: default

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                           
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base      

other attached packages:
[1] jsonlite_1.8.4  httr_1.4.4      selectr_0.4-2   xml2_1.3.3      RSelenium_1.7.9
[6] wdman_0.2.6    

loaded via a namespace (and not attached):
 [1] Rcpp_1.0.9       binman_0.1.2     assertthat_0.2.1 rappdirs_0.3.3   bitops_1.0-7    
 [6] R6_2.5.1         semver_0.2.0     magrittr_2.0.3   stringi_1.7.6    curl_4.3.2      
[11] tools_4.1.2      stringr_1.4.0    yaml_2.3.5       compiler_4.1.2   caTools_1.18.2 

解决方案

  1. 修复fileregex参数错误
    该错误源于wdman与binman版本不兼容,当前wdman 0.2.6需要更高版本的binman支持。执行以下命令更新binman:

    install.packages("binman")
    

    更新后重启R会话,再尝试运行rsDriver。

  2. 解决连接拒绝问题

    • 不要跳过rsDriver初始化直接使用remoteDriver,remoteDriver依赖rsDriver启动的Selenium服务,正确流程是通过rsDriver$client操作浏览器:
      remDr <- rsDriver(port = 4446L, browser = "firefox")
      client <- remDr$client
      client$open()
      
    • 检查端口4445是否被占用,Windows下可在命令行执行netstat -ano | findstr :4445查看,若被占用则更换rsDriver的端口参数(如4446L)。
    • 确保Firefox版本与geckodriver版本兼容,可手动下载对应版本的geckodriver,在rsDriver中指定路径:
      remDr <- rsDriver(
        port = 4446L,
        browser = "firefox",
        geckover = "匹配的版本号",
        geckodriver = "本地geckodriver.exe的完整路径"
      )
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.09 02:55:44