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

RSelenium无法启动浏览器:本地端口连接被拒问题求助

解决RSelenium启动浏览器失败(连接localhost端口被拒绝)的问题

先给大家理清楚问题场景:有位用户之前用R的RSelenium包运行浏览器完全正常,但昨天执行rd = rsDriver()时突然启动失败,核心报错是Failed to connect to localhost port 4567: Connection refused,同时服务器进程显示已退出。下面是几个经过验证的解决方案,按优先级尝试:

1. 先排查端口占用

最常见的原因就是目标端口被其他进程占用了:

  • Windows用户:打开命令提示符,输入netstat -ano | findstr :4567,找到对应的进程ID(PID),然后去任务管理器结束这个进程。
  • macOS/Linux用户:终端输入lsof -i :4567找到PID,再用kill -9 <PID>终止进程。
    要是不想纠结占用问题,也可以直接换个未被使用的端口启动:
rd <- rsDriver(port = 4568) # 任选一个未被占用的端口即可

2. 清理临时文件+重装依赖

RSelenium会在临时目录生成配置文件,有时候这些文件损坏会导致启动失败:

  • 先删掉报错里提到的bat文件(路径是C:\Users\Jeffrey Jones\AppData\Local\Temp\RtmpszSD5f\file2958371c4c79.bat),顺带清空这个临时文件夹里所有RSelenium相关的文件。
  • 卸载并重装RSelenium包,确保依赖没有损坏:
remove.packages("RSelenium")
install.packages("RSelenium")

3. 确保Chrome和ChromeDriver版本匹配

ChromeDriver的版本必须和本地安装的Chrome严格对应,版本不兼容是高频踩坑点:

  • 打开Chrome,在chrome://settings/help查看当前版本号。
  • 手动下载对应版本的ChromeDriver,然后启动时指定路径和版本:
rd <- rsDriver(
  browser = "chrome",
  chromever = "你的Chrome版本号(比如114.0.5735.90)",
  chromedriver = "C:/path/to/your/chromedriver.exe" # 替换成你的实际文件路径
)

自动下载偶尔会出现异常,手动下载反而更可靠。

4. 手动启动Selenium Server试试

如果自动启动服务器失败,可以尝试手动启动:

  • 下载最新的Selenium Server JAR包,打开命令行执行:
java -jar selenium-server-standalone-4.x.x.jar # 替换成你下载的JAR文件名

然后在R里连接已经启动的服务器:

remDr <- remoteDriver(port = 4444) # Selenium默认端口为4444
remDr$open()

5. 检查权限问题

有时候临时目录权限不足,会导致服务器启动失败:

  • Windows用户右键R图标,选择“以管理员身份运行”;macOS/Linux用户用sudo R启动R。
  • 检查临时目录(C:\Users\Jeffrey Jones\AppData\Local\Temp)的权限,确保当前用户有读写权限。

附上用户的原始报错信息,方便大家对照排查:

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
[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 4567: Connection refused
Check server log for further details.
$client
[1] "No sessionInfo. Client browser is mostly likely not opened."
$server
Process Handle command : C:\Users\Jeffrey Jones\AppData\Local\Temp\RtmpszSD5f\file2958371c4c79.bat
system id : 14508
state : exited
Warning message:
In rsDriver() : Could not determine server status.

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 07:27:46