Снимок экрана Python Selen не получить всю страницу

Я пытаюсь создать общий веб-сканер, который перейдет на сайт и сделает снимок экрана. Я использую Python, Selnium и PhantomJS. Проблема в том, что скриншот не захватывает все изображения на странице. Например, если я пойду к вам в трубу, он не будет снимать изображения под изображением главной страницы. (У меня недостаточно высокого представителя, чтобы опубликовать снимок экрана) Я думаю, что это может быть связано с динамическим контентом, но я пробовал использовать функции ожидания, такие как неявное ожидание и методы set_page_load_timeout. Поскольку это общий сканер, я не могу дождаться определенного события (я хочу сканировать сотни сайтов).

Можно ли создать общий веб-сканер, который может сделать снимок экрана, который я пытаюсь сделать? Код, который я использую:

phantom = webdriver.PhantomJS()
phantom.set_page_load_timeout(30)
phantom.get(response.url)
img = phantom.get_screenshot_as_png() #64-bit encoded string
phantom.quit

Вот изображение

1 ответ

Ваше предложение решило проблему. Использовал следующий код (частично украден из ответа на другой вопрос):

driver = webdriver.PhantomJS()    
driver.maximize_window()
driver.get('http://youtube.com')  
scheight = .1
while scheight < 9.9:
    driver.execute_script("window.scrollTo(0, document.body.scrollHeight/%s);" % scheight)
    scheight += .01        
driver.save_screenshot('screenshot.png')
Другие вопросы по тегам