Rselenium щелкните конкретный элемент из списка, созданного findElements
У меня есть рабочий код, в котором для заданного URL-адреса я захватываю все элементы с одинаковым именем класса. Кажется, их три с разными именами "ElementText".
Моя проблема в том, что я хотел бы щелкнуть один из этих элементов (clickElement), а именно второй с названием "ПОЛУЧИТЬ БОЛЬШЕ ОТПРАВЛЕНИЙ".
Может ли кто-нибудь указать мне в правильном направлении, как это сделать? Мне удалось щелкнуть первый элемент, но не так, как щелкнуть конкретный элемент из списка.
Пожалуйста, посмотрите код ниже, и большое спасибо.
библиотека (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()
2 ответа
Я нашел решение:
# 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()
Удачи!