Rselenium щелкните по указанному c элементу из списка, созданного findElements - PullRequest
1 голос
/ 13 марта 2020

У меня есть рабочий код, в котором для заданного URL я фиксирую все элементы с одинаковым именем класса. Там, кажется, три, с разными именами "ElementText".

Моя проблема в том, что я хотел бы щелкнуть по одному из этих элементов (clickElement), в частности по второму с именем «GET MORE DEPARTURES».

Может ли кто-нибудь любезно указать мне правую Направление как это сделать? Мне удалось щелкнуть по первому элементу, но не так, как щелкнуть указанный элемент c из списка.

Пожалуйста, смотрите код ниже, и большое спасибо.

библиотека (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()

1 Ответ

1 голос
/ 13 марта 2020

Я нашел решение:

# 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")]]
...