Ich kann bis zu 11 Scrollings scracken, danach müssen wir auf "Show More Products" klicken. Was kann getan werden, damit ich weiter scrollen kann? Im Folgenden finden Sie meine aktuellen Code:Scrollen Sie durch einen Weblink, indem Sie auf "Weitere Produkte anzeigen" klicken und die Produktinformationen abrufen.
library(RSelenium)
require(RCurl)
require(XML)
require(dplyr)
require(stringr)
require(rvest)
shell.exec(paste0("C:/Users/Nitin Kansal/Desktop/R/batch.bat"))
#start RSelenium
checkForServer()
startServer()
remDr <- remoteDriver()
remDr$open()
# load your page
remDr$navigate("http://www.jabong.com/kids/clothing/girls-clothing/kids-tops-t-shirts/?source=topnav_kids")
# scroll down 11 times, allowing 3 second for the page to load everytime
for(i in 1:11){
remDr$executeScript(paste("scroll(0,",i*10000,");"))
Sys.sleep(3)
}
# get the page html
page_source <- remDr$getPageSource()
# get the URL's that you are looking for
pp <- xml2::read_html(page_source[[1]]) %>%
rvest::html_nodes("a") %>%
rvest::html_attr("data-original-href") %>%
{.[!is.na(.)]}
pp <- as.data.frame(pp)
Sollte ich in die for-Schleife legen? für (i in 1:15) { remDr $ executeScript (einfügen ("scroll (0,", i * 10000, ");")) remDr $ findElement (mit = 'css selector', ".load -more-products ") $ clickElement() Sys.sleep (3) } –
Ja natürlich. Fügen Sie außerdem Sys.sleep (5) hinzu, damit Sie eine Seite laden können – Bharath