Page.render() returns 错误

Page.render() returns false

我正在使用 phantomjs 截取几个网页的屏幕截图。为了获取屏幕截图图像,我使用了以下代码。

var page = require('webpage').create(); 
page.viewportSize = { width: 1200,height: 800};
page.open('http://<randomwebpageAddress>', function(status) {
  console.log(status);
  console.log(page.render('screenshot.png'));
  phantom.exit();
});

但某些页面的结果是

status = "success" 但 page.render return 为假

我的问题是:

什么时候 page.render() return 是假的?

the docs开始,render()的return值并不重要。

虽然文档说 render() 没有 return 类型,但它总是 return 表示渲染操作成功的布尔值。

函数将始终 return false 如果 content is empty,这永远不会发生。

由于 render() 函数能够呈现为多种格式,例如 PNG、JPG、GIF、PDF,因此 return 值的含义可能略有不同。

PDF

false can only be returned,如果格式选项设置不正确。

GIF(v2 之前)

仅当目标文件不可写时returns false

JPG、PNG(和 GIF)

return值comes from QImage::save() and denotes a successful rendering and file write