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

RSelenium的rsDriver()无法连接本地4567端口问题求助

RSelenium本地运行及Mac ARM适配解决方案

一、手动指定Chromedriver到rsDriver()

如果你已经下载了对应版本的Chromedriver,可通过以下两种方式传入参数:

方法1:将Chromedriver加入系统PATH(推荐)

  1. 把下载的chromedriver移动到Mac默认PATH目录:
    mv ~/Downloads/chromedriver /usr/local/bin/
    
  2. 赋予执行权限:
    chmod +x /usr/local/bin/chromedriver
    
  3. 调用rsDriver时关闭自动版本检查,直接使用本地驱动:
    library(RSelenium)
    # 启动驱动
    driver <- rsDriver(
      browser = "chrome",
      chromever = NULL,  # 禁用自动下载,使用PATH中的驱动
      check = FALSE      # 关闭版本检查,避免ARM架构下的冲突
    )
    # 获取客户端对象
    remDr <- driver[["client"]]
    

方法2:直接在代码中指定Chromedriver路径

如果不想修改系统PATH,可手动指定驱动所在文件夹:

library(RSelenium)
library(wdman)
# 启动指定路径的Chromedriver服务
chrome_service <- chrome(
  port = 4567L,
  chromever = NULL,
  path = "/Users/你的用户名/Downloads/"  # 替换为你的chromedriver所在文件夹路径
)
# 连接到驱动
remDr <- remoteDriver(
  remoteServerAddr = "localhost",
  port = 4567L,
  browserName = "chrome"
)
remDr$open()

二、Mac ARM芯片(M1/M2/M3)适配注意事项

ARM芯片下的核心问题是Chrome与Chromedriver版本必须严格匹配,且需下载ARM架构的驱动:

  1. 打开Chrome → 右上角菜单 → 「关于Google Chrome」,确认当前Chrome版本。
  2. 下载对应版本的ARM64版Chromedriver(不要选择Intel版)。
  3. 运行时添加权限参数,避免沙盒报错:
    driver <- rsDriver(
      browser = "chrome",
      chromever = NULL,
      check = FALSE,
      extraCapabilities = list(
        chromeOptions = list(
          args = c("--no-sandbox", "--disable-dev-shm-usage")
        )
      )
    )
    

三、本地运行RSelenium的完整流程

  1. 安装依赖包:
    install.packages(c("RSelenium", "wdman"))
    
  2. 按照上述步骤配置Chromedriver。
  3. 启动驱动并测试:
    remDr$navigate("https://www.example.com")  # 打开测试网页验证
    
  4. 使用完毕后关闭资源:
    remDr$close()
    driver$server$stop()
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:14:57