3

我是新来的RSelenium,并且在使用“Introduction Vignette”中的以下示例时遇到问题:

remDr$navigate("http://www.r-project.org")  # Works
webElem <- remDr$findElement("partial link text", "download R")  # Works
webElem$getElementText()  # Works
remDr$mouseMoveToLocation(webElement = webElem)  # DOES NOT Work!

我收到以下错误:

Error:   Summary: InvalidElementState
     Detail: An element command could not be completed because the element is in an invalid state (e.g. attempting to click a disabled element).
     class: org.openqa.selenium.InvalidElementStateException

有任何想法吗?我正在使用 R 版本 3.1.1 (2014-07-10) 在 Mac OS X 上运行 Firefox。编辑:也不适用于 R 版本 3.1.3 (2015-03-09)。

4

1 回答 1

2
library(RSelenium)
startServer()
# remDr <- remoteDriver(browserName = "chrome")
remDr <- remoteDriver()
remDr$open()
remDr$navigate("http://www.r-project.org")  # Works
webElem <- remDr$findElement("partial link text", "download R")  # Works
webElem$getElementText()  # Works

检查版本:

> remDr$getStatus()$build
$version
[1] "2.45.0"

$revision
[1] "5017cb8"

$time
[1] "2015-02-26 23:59:50"

> remDr$sessionInfo$version
[1] "36.0.1"

跑步:

remDr$mouseMoveToLocation(webElement = webElem)  # DOES NOT Work!

复制错误

检查错误消息:

remDr$value$localizedMessage
[1] "Cannot perform native interaction: Could not load native events component.\nBuild info: version: '2.45.0', revision: '5017cb8', time: '2015-02-26 23:59:50'\nSystem info: host: 'JACK2', ip: '192.168.59.3', os.name: 'Windows 8.1', os.arch: 'amd64', os.version: '6.3', java.version: '1.8.0_25'\nDriver info: driver.version: unknown"

我们看到该moveToLocation方法需要 nativeEvents。检查 selenium 服务器版本 2.45.0 的CHANGELOG我们看到:

v2.45.0

此版本中的重要更改:

  • Firefox 中的原生事件依赖于 Mozilla 不再提供的 API。因此,回退到最近 Firefox 版本上的合成事件。

需要本机事件的方法目前不适用于最新版本的 firefox (36) 和 selenium server (2.45.0)

于 2015-03-15T20:53:51.363 回答