我正在尝试创建一个闪亮的应用程序,该应用程序在单击按钮时打开网络浏览器,然后在单击“刷新”按钮时,从任何站点加载 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)