最新版本的 Selenium 和 Firefox

Latest version of RSelenium and Firefox

当我尝试打开 RSelenium 时收到此错误

[1] "Connecting to remote server"
Error:   Summary: UnknownError
     Detail: An unknown server-side error occurred while processing the command.
     class: org.openqa.selenium.firefox.NotConnectedException

我的 Firefox 版本是

Firefox version: 480b10

根据this我尝试更新服务器版本

library("RSelenium")
startServer()
unlink(system.file("bin", package = "RSelenium"), recursive = T)
checkForServer(update = TRUE)
remDr <- remoteDriver()
Sys.sleep(5)
remDr$open()
Sys.sleep(5)

但问题依然存在。有人遇到这个问题吗?任何可能的解决方案?

从 Firefox 48 开始,运行 带有 Selenium 的 Firefox 将需要 gecko 驱动程序/ marionette。

如果你有 Firefox 48,你可以 运行 gecko 驱动程序如下:

参考指南

  1. https://developer.mozilla.org/en-US/docs/Mozilla/QA/Marionette/WebDriver
  2. https://github.com/mozilla/geckodriver/releases
  3. 下载相关的 gecko 驱动程序
  4. 将其添加到您的 PATH 或在启动二进制文件时参考该位置(见下文)
# get beta selenium standalone

RSelenium::checkForServer(beta = TRUE)
# assume gecko driver is not in our path (assume windows and we downloaded to docs folder)
# if the driver is in your PATH the javaargs call is not needed
selServ <- RSelenium::startServer(javaargs = c("-Dwebdriver.gecko.driver=\"C:/Users/john/Documents/geckodriver.exe\""))
remDr <- remoteDriver(extraCapabilities = list(marionette = TRUE))
remDr$open()
....
....
remDr$close()
selServ$stop()  

以上目前需要RSelenium的开发版本。或者,您可以从 http://selenium-release.storage.googleapis.com/index.html 下载 Selenium 二进制文件。选择 3.0 beta 2 二进制文件到当前 运行 与 Firefox 48。运行 二进制文件

java -Dwebdriver.gecko.driver=C:/Users/john/Documents/geckodriver.exe -jar selenium-server-standalone-3.0.0-beta2.jar