问题:是否有一个功能可以在没有打开 selenium 浏览器的情况下打开,或者关闭当前浏览器并重置端口并重新启动浏览器?
理由:我在 RSelenium 中使用偶尔会崩溃的大循环,所以有时我不知道在循环代码中端口是否打开或浏览器是否打开。我想要一个 RSelenium 启动器,它可以启动浏览器,无论浏览器是否打开或端口是否正在使用。
尝试:我用 tryCatch() 尝试了这种方法,但如果我尝试启动它两次,我仍然会收到端口打开的 wdman 错误:
browserpreference <- "chrome"
tryCatch({rD <- rsDriver(port = 4444L, browser = paste0(browserpreference))}
,error=function(rD,remDr){
try(remDr$close(), silent=T)
try(rD$server$stop(),silent=T)
try(suppressWarnings(rm(rD, envir = .GlobalEnv)), silent=T)
try(suppressWarnings(rm(remDr, envir = .GlobalEnv)), silent=T)
gc()
rD <- rsDriver(port = 4444L, browser = paste0(browserpreference))
})
如果我尝试两次,我会收到此错误:
Error in wdman::selenium(port = port, verbose = verbose, version = version, :
Selenium server signals port = 4444 is already in use.
谢谢!