Извлечение ленивого загруженного контента с помощью Selenium? - PullRequest
1 голос
/ 15 января 2020

Я использую селен, чтобы

  • перейти к URL-адресу
  • , прокрутить вниз (загрузка lazyloaded изображений)

Когда человек смотрит на автоматический браузер, в результате HTML содержит содержит лениво загруженный контент, но когда браузер не отображается на экране, ленивый контент отсутствует в HTML.

Примечания

  • Если я наблюдаю браузер во время работы автоматизированного браузера (т.е. на экране моего ноутбука видно chrome), то получающийся HTML делает содержит загруженный контент
  • Если браузер не открыт на экране (например, если я смотрю на что-то другое, например код, выполняемый в терминале), то загружаемый контент - , а не содержится в HTML!

Вопрос

Когда человек «смотрит» в браузер, загруженные данные записываются в извлечении HTML, но когда то же самое сделано программно, ленивые данные отсутствуют. Как так?

R код

library(RSelenium)
library(dplyr)


url %>% remDr$navigate(.)

webElem <- remDr$findElement("css", "body")


for(i in 1:50) { webElem$sendKeysToElement(list(key = "down_arrow")); Sys.sleep(0.02) } # Scroll down
webElem$click(buttonId = 0); Sys.sleep(0.02) # Click on page

# Repeats above scroll/click 4 more times to get to very bottom of page


# Get html
remDr$getPageSource() %>% .[[1]] %>% .[1] %>% read_html(.)
...