R: rvest: raspando una página dinámica de comercio electrónico

Estoy usando rvest en R para hacer un poco de raspado. Sé algo de HTML y CSS.

Quiero obtener los precios de cada producto de un URI:

http://www.linio.com.co/tecnologia/celulares-telefonia-gps/

Los nuevos elementos se cargan a medida que avanzas en la página (a medida que avanzas en el desplazamiento).

Lo que he hecho hasta ahora

 Linio_Celulares % html_nodes(".product-itm-price-new") %>% html_text() 

Y obtengo lo que necesito, pero solo para los 25 primeros elementos (los carga por defecto).

  [1] "$ 1.999.900" "$ 1.999.900" "$ 1.999.900" "$ 2.299.900" "$ 2.279.900" [6] "$ 2.279.900" "$ 1.159.900" "$ 1.749.900" "$ 1.879.900" "$ 189.900" [11] "$ 2.299.900" "$ 2.499.900" "$ 2.499.900" "$ 2.799.000" "$ 529.900" [16] "$ 2.699.900" "$ 2.149.900" "$ 189.900" "$ 2.549.900" "$ 1.395.900" [21] "$ 249.900" "$ 41.900" "$ 319.900" "$ 149.900" 

Pregunta: ¿Cómo obtener todos los elementos de esta sección dinámica?

Supongo que podría desplazar la página hasta que todos los elementos estén cargados y luego usar html (URL). Pero esto parece mucho trabajo (estoy planeando hacer esto en diferentes secciones). Debería haber un trabajo programático alrededor.

Cualquier sugerencia es bienvenida!

Como @nrussell sugirió, puede usar RSelenium para desplazarse programáticamente por la página antes de obtener el código fuente.

Podría, por ejemplo, hacer:

 library(RSelenium) library(rvest) #start RSelenium checkForServer() startServer() remDr < - remoteDriver() remDr$open() #navigate to your page remDr$navigate("http://www.linio.com.co/tecnologia/celulares-telefonia-gps/") #scroll down 5 times, waiting for the page to load at each time for(i in 1:5){ remDr$executeScript(paste("scroll(0,",i*10000,");")) Sys.sleep(3) } #get the page html page_source<-remDr$getPageSource() #parse it html(page_source[[1]]) %>% html_nodes(".product-itm-price-new") %>% html_text()