Shiny 应用程序中的 RSelenium:无法从浏览器中提取 html

时间:2021-05-12 18:45:02

标签: r shiny rselenium

我正在尝试创建一个闪亮的应用程序,该应用程序在单击按钮时打开网络浏览器,然后在单击“刷新”按钮时,从任何站点加载 html。这是一个更高级项目的概念证明,但我无法让它工作。有时浏览器在30秒后关闭(不是因为超时),但主要问题是刷新按钮没有更新显示的文本;整个应用屏幕变灰。

library('shiny')
library('RSelenium')
library('dplyr')
library('rvest')

ui <- fluidPage(
  
  # Application title
  titlePanel("Title"),
  
  sidebarLayout(
    sidebarPanel(
      actionButton('open_browser','Open Browser')
      ,actionButton('refresh_html','Refresh')
    ),
    
    mainPanel(
      textOutput("text")
    )
  )
)

server <- function(input, output) {
  
  values<-reactiveValues()
  values$message_text<-'Open browser to begin'
  
  observeEvent(input$open_browser,{
    system("taskkill /im java.exe /f")
    rD <- rsDriver(browser="chrome", port=4566L, verbose=F, chromever = "90.0.4430.24")
    remDr <- rD[["client"]]
    remDr$navigate('https://google.com')
  })
  
  observeEvent(input$refresh_html,{
    html <- driver$getPageSource()[[1]]
    values$message_text<-read_html(html) %>% as.character()
  })
  
  output$text <- renderText({
    values$message_text
  })
}

shinyApp(ui = ui, server = server)

0 个答案:

没有答案
相关问题