如何使用phantomjs截图整个页面

时间:2016-01-21 03:11:23

标签: javascript phantomjs

我使用phantomjs来截取页面,但无法截取页面。

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

高度值为33943,但scrollHeight的实际值为44135。  如何加载整个页面?

the snapshot img

the page

2 个答案:

答案 0 :(得分:1)

您可以通过以下方式对页面进行快照:

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

不确定为什么需要计算页面的高度。

答案 1 :(得分:0)

我设法通过设置页面属性来截取整个页面。

例如:

Directory.EnumerateFiles

docs var width = 1024, height = 768; page.property("viewportSize", {'width': width, 'height': height}); 上的那个可能未更新,因为它返回了警告:

  

警告:使用page.viewportSize = ...;不受支持。请改用page.property(' viewportSize',...)。有关page#property的更多示例,请参阅自述文件。