为什么PhantomJS将此网站渲染为黑色方块?

时间:2015-08-08 14:26:00

标签: javascript phantomjs webpage-screenshot

我正在调查使用PhantomJS根据现有的网络JavaScript代码库进行一些自动图像渲染。

但是,使用提供的$query->result_array(); 示例代码会将our site渲染为600x600黑色图像。其他网站似乎呈现好。

现在,我们的网站默认使用WebGL,但有一个我检查过的2D后备工作(例如,在禁用WebGL的Chrome中) - 并且rasterize.js标志应该跳过使用WebGL。

还有什么其他原因会导致它产生这种纯黑色图像?

也许在页面加载之前它会截取屏幕截图?

有没有办法调试这个?

我在Macbook上的Ubuntu Precise VM中使用预编译的Ubuntu二进制文件#map=2d

1 个答案:

答案 0 :(得分:1)

你必须等一下才能加载页面。使用CasperJS(基于PhantomJS的工具)一切正常:

var casper = require('casper').create();//Create casper object

casper.options.viewportSize = {width: 900, height: 900};//Set viewport
casper.start().thenOpen('http://staging.nationalmap.nicta.com/#map=2d', function() {

});
casper.wait(10000, function(){//wait for 10 seconds so we are sure page is loaded
    this.capture('small2d.png');//take a screenshot
});

casper.run();

enter image description here