我正在尝试使用PhantomJS对我的基于Web的数据viz应用程序进行screendump,该应用程序使用Canvas进行渲染。
这是我写的:
var page = require('webpage').create();
page.open('./index.html', function(status) {
if (status !== 'success') {
console.log('Unable to load index.html');
} else {
window.setTimeout(function () {
page.render('igv-screen-shot.png');
phantom.exit();
}, 5000);
}
});
当我在浏览器中运行index.html
时,我得到了这个(注意红色边框):
div
内的红色边框内的所有内容 - 不包括左边缘带有IGV的灰色导航栏 - 将呈现在画布上。这里有3个画布渲染。
没有任何画布被渲染。请注意,红色div
中的所有内容都是以编程方式创建的。红色div
是发布时index.html
中唯一的元素。我做错了什么?