Вопрос: есть ли функция, которая открывает браузер селена, если он еще не открыт, или закрывает текущий браузер, сбрасывает порт и перезапускает браузер?
Обоснование: я работаю с большими циклами в 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.
Спасибо!