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

在shinyapps.io部署含RSelenium的Shiny应用时无法打开Chrome浏览器

问题分析

shinyapps.io的容器环境不允许直接在应用内启动本地Selenium服务进程,你当前使用rsDriver尝试在平台内启动ChromeDriver服务,这种操作在受限环境下无法执行,因此出现连接被拒绝的错误。

解决方案

方案1:改用外部Selenium Grid服务

不在应用内启动Selenium服务,转而连接到外部的Selenium Grid(自行搭建或使用云服务),修改代码如下:

library(shiny)
library(RSelenium)

ui <- fluidPage(
  actionButton("btn", "Click Me!"),
  textOutput("txt"),
)

server <- function(input, output, session) {
  observeEvent(input$btn, {
    # 配置连接外部Selenium Grid
    remDr <- remoteDriver(
      remoteServerAddr = "你的Selenium Grid地址", # 替换为实际服务地址
      port = 4444, # 对应Grid服务端口
      browserName = "chrome",
      extraCapabilities = list(
        chromeOptions = list(
          args = c('--headless', '--disable-gpu', '--window-size=1280,800')
        )
      )
    )
    
    remDr$open()
    remDr$navigate("http://www.google.com")
    title <- remDr$getTitle()
    output$txt <- renderText(as.character(title))
    remDr$close()
    remDr$quit()
  })
}

shinyApp(ui, server)

注意:需确保shinyapps.io的IP能访问你搭建/使用的Selenium Grid服务。

方案2:换用chromote包替代RSelenium

chromote是轻量的Chrome远程控制工具,无需启动额外Selenium Server,更适配shinyapps.io环境,修改代码如下:

library(shiny)
library(chromote)

ui <- fluidPage(
  actionButton("btn", "Click Me!"),
  textOutput("txt"),
)

server <- function(input, output, session) {
  observeEvent(input$btn, {
    # 初始化chromote会话
    b <- ChromoteSession$new(
      opts = list(
        args = c('--headless', '--disable-gpu', '--window-size=1280,800')
      )
    )
    
    b$Page$navigate(url = "http://www.google.com")
    b$Page$loadEventFired(wait_ = TRUE)
    title <- b$Page$getTitle()$result$title
    output$txt <- renderText(title)
    
    # 关闭会话
    b$close()
  })
}

shinyApp(ui, server)

部署前需在项目的DESCRIPTION文件中添加chromote依赖,确保平台安装该包。

额外注意事项
  • shinyapps.io环境已预装Chrome,无需额外安装,但需确保使用的包版本与平台兼容;
  • 避免使用wdman这类启动本地服务的工具,平台不允许在应用容器内运行额外服务进程;
  • 新代码需先在本地测试正常后,再部署到shinyapps.io。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.03 16:19:59