【问题标题】:RSelenium - rsDriver(browser = "firefox") -> Conection RefusedRselenium - rsDriver(browser = "firefox") -> Connection Refused
【发布时间】:2020-10-14 01:34:32
【问题描述】:

我第一次尝试在我的计算机中使用 Selenium。但我在第一行有一个错误:

我的代码:

library(RSelenium)

rD <- rsDriver(browser = "firefox")

错误信息:

检查 Selenium Server 版本: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD 检查 chromedriver 版本: BEGIN: PREDOWNLOAD 开始:下载开始:POSTDOWNLOAD 检查 geckodriver 版本: BEGIN: PREDOWNLOAD BEGIN: DOWNLOAD BEGIN: POSTDOWNLOAD 检查 phantomjs 版本:开始:预下载开始:下载开始: 下载后

[1] "连接到远程服务器" 无法打开火狐浏览器。 客户端错误信息: httr 调用中的未定义错误。 httr 输出:无法连接到 localhost 端口 4567:连接被拒绝 检查服务器日志以获取更多详细信息。 警告信息: 在 rsDriver(browser = "firefox") 中:无法确定服务器状态。

我的操作系统是 Linux Mint,19.3,Cinnamon。

我安装了 selenium-server-standalone-3.141.59.jar 和 geckodriver-v0.26.0

【问题讨论】:

    标签: r linux selenium linux-mint


    【解决方案1】:

    先试试这个:

    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,但请确保您拥有所有 firefox 依赖项(运行 sudo apt-get install firefox)。重新安装 RSelenium(在 R 中),然后在不手动下载 geckodriver 的情况下再次尝试重新启动。这样RSelenium会自动下载正确的geckodriver版本

    【讨论】:

    • 谢谢!但是没有用。我什么都试过了。在第一个代码中,我遇到了这个错误&gt; suppressWarnings(try(rD)) Error in try(rD) : object 'rD' not found &gt; gc() used (Mb) gc trigger (Mb) max used (Mb) Ncells 953575 51.0 1934678 103.4 1333855 71.3 Vcells 2024328 15.5 8388608 64.0 5794869 44.3
    • 在第二个代码中,我有&gt; system("kill -9 $(lsof -t -i:4567 -sTCP:LISTEN)") sh: 1: kill: Usage: kill [-s sigspec | -signum | -sigspec] [pid | job]... or kill -l [exitstatus] &gt; #might need to be run sudo depending on your system &gt; system("sudo kill -9 $(lsof -t -i:4567 -sTCP:LISTEN)") sudo: no one tty present and any programm of askpass especified
    • 按照你说的删除并重新安装所有内容后,我得到了同样的按摩。
    • 那些不是错误,rD 警告只是警告你它以前不存在。终止警告只是关于如何使用它的通知。看起来您可能需要安装 askpass 和 lsof:sudo apt-get install ssh-askpass lsof。即使收到警告/错误,也请尝试运行它然后再次启动。
    • 不需要docker
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-04-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多