2017-04-05 77 views
0

我正在使用phantomjs将html渲染到jpg为什么幻像不能正确渲染页面?

Phantom完美呈现stackoverflow网站,但不会呈现我自己的html页面(其中显示由js生成的pieChart)。

这里是幽灵脚本:

var webPage = require('webpage'); 
var system = require('system'); 
var page = webPage.create(); 


page.viewportSize = { width: 1920, height: 1080 }; 
page.open(system.args[1], function start(status) { 
    page.render('index.jpeg', {format: 'jpeg', quality: '100'}); 
    phantom.exit(); 
}); 

这里是输出IMG:enter image description here

如何解决渲染?

+0

添加'page.onError'回调来检查错误。也可以尝试用setTimeout推迟'page.render'一秒,让js有时间完成它的工作。 – Vaviloff

+0

@Vaviloff你是对的!超时帮助!将您的评论作为答案将其作为解决方案进行检查 – Mira

+0

完成,谢谢! ) – Vaviloff

回答

1

该图表可能未在图像中显示,因为在打开页面后会立即生成屏幕截图。尝试推迟第二个屏幕截图,例如:

page.open(system.args[1], function start(status) { 
    setTimeout(function(){ 
    page.render('index.jpeg', {format: 'jpeg', quality: '100'}); 
    phantom.exit(); 
    }, 1000); 
});