1

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

我的问题是我想单击其中一个元素(clickElement),特别是第二个名为“GET MORE DEPARTURES”的元素。

任何人都可以指出我如何做到这一点的正确方向吗?我设法单击第一个元素,但不是如何单击列表中的特定元素。

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

库(RSelenium) 库(rvest)

# 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()))

“火星 12” “获得更多出发” “”

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

2 回答 2

1

我找到了解决方案:

# 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")]]
于 2020-03-13T16:04:42.640 回答
0

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

load_btn[[2]]$ClickElement()

祝你好运!

于 2021-01-24T15:30:28.807 回答