[英]Rselenium click specific element from list generated by findElements
我有一個工作代碼,對於給定的 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()
我找到了解決方案:
# 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()
祝你好運!
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.