Page.render()返回false

时间:2015-05-21 07:05:11

标签: java javascript selenium-webdriver phantomjs remotewebdriver

我使用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返回false

我的问题是:

page.render()何时返回false?

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

尽管文档说render()没有返回类型,但它总是返回一个表示渲染操作成功的布尔值。

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

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

<强> PDF

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

GIF(前v2)

目标文件不可写时仅returns false

JPG,PNG(和GIF)

返回值comes from QImage::save()并表示successful rendering and file write