我第一次在电脑里使用硒。但我在第一行有个错误:
我的代码:
library(RSelenium)
rD <- rsDriver(browser = "firefox")
错误消息:
checking Selenium Server versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD
BEGIN: POSTDOWNLOAD checking chromedriver versions: BEGIN: PREDOWNLOAD
BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking geckodriver versions:
BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD checking
phantomjs versions: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN:
POSTDOWNLOAD
[1] "Connecting to remote server"
Could not open firefox browser.
Client error message:
Undefined error in httr call. httr output: Failed to connect to localhost port 4567: Conection Refused
Check server log for further details.
Warning message:
In rsDriver(browser = "firefox") : Could not determine server status.
我的操作系统是Linux,19.3,肉桂。
我安装了selenium-server-独立-3.141.59.jar和geckodriver-v0.26.0。
发布于 2020-06-23 22:31:48
先试试这个:
suppressWarnings(tryCatch(rm(remDr),error=function(e){}))
suppressWarnings(tryCatch(rD),error=function(e){}))
gc()
#relaunch
library(RSelenium)
rD <- rsDriver(browser = "firefox")
remDr <- rD$client
remDr$navigate("https://www.duckduckgo.com")
另一种办法是:
#make sure lsof is installed on your system:
#sudo apt-get install ssh-askpass lsof
system("kill -9 $(lsof -t -i:4567 -sTCP:LISTEN)")
#might need to be run sudo depending on your system
system("sudo kill -9 $(lsof -t -i:4567 -sTCP:LISTEN)")
#relaunch
library(RSelenium)
rD <- rsDriver(browser = "firefox")
remDr <- rD$client
remDr$navigate("https://www.duckduckgo.com")
如果所有这些都不起作用,您可能安装了错误的geckodriver,从linux (sudo apt-get remove geckodriver --purge
)卸载geckodriver,从R (remove.packages("RSelenium")
)卸载RSelenium。然后,不会重新安装geckodriver,但是要确保您有所有的依赖项(运行sudo apt安装火狐)。重新安装RSelenium (在R中),然后再次尝试重新启动,而无需手动下载geckodriver。通过这种方式,RSelenium将自动下载正确的geckodriver版本。
https://stackoverflow.com/questions/62544091
复制相似问题