2016-01-21 2 views
1

Я использую phantomjs для скриншота страницы, но не могу скриншот buttom страницы.как использовать phantomjs скриншот всей страницы

var height = page.evaluate(function() 
{ 
    window.document.body.scrollTop = document.body.scrollHeight;          
    }   
); 

значение высоты 33943, но реальная стоимость scrollHeight является 44135. , как я могу загрузить всю страницу?

the snapshot img

the page

ответ

1

Вы можете сделать снимок страницы по:

var WebPage = require('webpage'); 
page = WebPage.create(); 
page.open('http://www.example.com'); 
page.onLoadFinished = function() { 
    page.render('screenshot.png'); 
    phantom.exit(); 
} 

Не знаю, почему вам нужно рассчитать высоту вашей страницы.

+0

Я попробовал вас, но не могу загрузить нижнюю часть страницы. Я вычислил высоту, чтобы увидеть, загружена ли нижняя часть страницы. Вы можете видеть, что я загружаю изображения. –

+0

Является ли содержимое динамически загружено ** после ** загружается страница? Если да, вам нужно добавить задержку, прежде чем вы запишете страницу. – Raptor

+0

Содержимое не динамически загружается. Некоторые страницы могут скриншоты всего содержимого, но когда контент слишком длинный, моментальный снимок не является целым. –

0

Мне удалось сделать снимок экрана всей страницы, установив свойство страницы.

Например:

var width = 1024, height = 768; 
page.property("viewportSize", {'width': width, 'height': height}); 

Один на docspage.viewportSize = { width: 1024, height: 768 }; не может быть обновлен, поскольку он возвращается предупреждение:

предупредит: Использование page.viewportSize = ...; не поддерживается. Вместо этого используйте page.property ('viewportSize', ...). См. Файл README для получения дополнительных примеров свойств страницы #.

Смежные вопросы