我的例子是:
library(RSelenium)
remDr <- remoteDriver()
remDr$open(silent = TRUE)
remDr$navigate("http://www.nngroup.com/articles/checkboxes-vs-radio-buttons/")
remDr$findElement("id", "three")$click()
这似乎不起作用。有人可以帮助解决错误吗?
答案 0 :(得分:1)
你走在正确的轨道上。查看?remoteDriver
click
方法被描述为:
click(buttonId = 0)
Click any mouse button (at the coordinates set by the last mouseMoveToLocation() command). buttonId - any one of 'LEFT'/0 'MIDDLE'/1 'RIGHT'/2. Defaults to 'LEFT'
此方法用于点击屏幕上的某个位置。您的代码可以稍微更改,以便分配findElement
方法结果。
library(RSelenium)
# startServer() # start Selenium Server if needed
remDr <- remoteDriver()
remDr$open(silent = TRUE)
remDr$navigate("http://www.nngroup.com/articles/checkboxes-vs-radio-buttons/")
webElem <- remDr$findElement("id", "three")
> class(webElem)
[1] "webElement"
attr(,"package")
[1] "RSelenium"
查看webElement
类的文档,有一个方法clickElement
:
webElem$clickElement()
使用此方法应该产生所需的结果。
答案 1 :(得分:0)
我不知道为什么,但是我在各种论坛上发现的东西对我来说不起作用。
webElem <- remDr$findElement("id", "three")
webElem$clickElement()
webElem <- remDr$findElement("id", "three")
webElem$sendKeysToElement(list(key="enter"))
remDr$executeScript("document.getElementById('three').click()")
当前两个对我不起作用时,最后一个对我有用。