Я использую R, но я не могу извлечь правильный xpath
для "Next"
кнопка поиска Google. Например, кто-то что-то ищет, прокручивает вниз, а затем нажимает «Далее» справа от списка чисел.
Вот что я могу извлечь из "осмотра" Chrome:
//*[@id="pnnext"]
Но когда я получаю пустой список, когда я пытаюсь использовать это xpath
. Гаджет "Селектор CSS" дает мне следующее:
//*+[contains(concat( " ", @class, " " ), concat( " ", "ch", " " ))]//span
Но та же проблема. Чтобы быть полезным в R-коде, или "кликабельном", я знаю, что это было из части href
. Как правильно xpath
«нажать» кнопку «Далее»?
Код, ведущий вверх:
library(RSelenium) # run in docker
remDr <- remoteDriver(port = 4445L, browserName = "chrome")
remDr$open()
remDr$navigate("https://books.google.com/")
books <- remDr$findElement(using = "css", "[name = 'q']")
books$sendKeysToElement(list("NHL books", key = "enter"))
# Clicks on all 10 links of first result page
bookElem <- remDr$findElements(using = "xpath",
"//h3[@class = 'LC20lb']//parent::a")
links <- sapply(bookElem, function(bookElem){
bookElem$getElementAttribute("href")
})
# Gets stuff I want from every search result
big_list <- lapply(links, function(link) {
# Navigate to each link
remDr$navigate(link)
# Do various things
if (...) {
...
} else {
...
}
})