r-Rselenium从findElements生成的列表中单击特定元素



我有一个工作代码,其中对于给定的URL,我捕获具有相同类名的所有元素。似乎有三个,具有不同的"ElementText"名称。

我的问题是,我想点击其中一个元素(点击元素(,特别是第二个名为"获取更多部门"的元素。

有人能告诉我如何做这件事的正确方向吗?我已经成功地点击了第一个元素,但没有点击列表中的特定元素。

请参阅下面的代码,非常感谢。

库(RSelenium(库

# Download binaries, start driver, and get client object.
rd <- rsDriver(browser = "firefox", port = 1999L)
ffd <- rd$client
ffd$navigate(paste0("https://www.XXXXXX",sep=""))
load_btn <- ffd$findElements(using = "css selector", "button.md-raised.blue-md-button.md-primary.md-button.md-ink-ripple")
#getting list of element names from abobe
unlist(lapply(load_btn, function(x) x$getElementText()))

"mars12"获得更多离开">

#My issue is here, how to I specify that I want to click the "GET MORE DEPARTURES" element?
load_btn$clickElements()

我找到了解决方案:

# Download binaries, start driver, and get client object.
rd <- rsDriver(browser = "firefox", port = 1999L)
ffd <- rd$client
ffd$navigate(paste0("https://www.XXXXXXX",sep=""))
load_btn <- ffd$findElements(using = "css selector", "button.md-raised.blue-md-button.md-primary.md-button.md-ink-ripple")
#getting list of element names from abobe
unlist(lapply(load_btn, function(x) x$getElementText()))

解决方案

solution<-unlist(lapply(load_btn, function(x) x$getElementText()))
load_btn <- load_btn[[which(solution== "GET MORE DEPARTURES")]]

我会尝试对元素进行子集设置并单击它(因为您已经知道它是列表中的第二个元素(:

load_btn[[2]]$ClickElement()

祝你好运!

最新更新