3

いくつかの Web ページのスクリーンショットを撮るために、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 を返しますか?

4

2 に答える 2

0

ドキュメントには render() の戻り値の型はないと書かれていますが、レンダリング操作の成功を示すブール値を常に返します。

コンテンツが空falseの場合、関数は常に戻りますが、これは決して起こらないはずです。

render()関数は PNG、JPG、GIF、PDF などの複数の形式にレンダリングできるため、戻り値の意味が若干異なる場合があります。

PDF

false形式オプションが正しく設定されていない場合にのみ、 を返すことができます。

GIF (v2 より前)

宛先ファイルが書き込み可能でない場合にのみ戻ります。false

JPG、PNG (および GIF)

戻り値は から取得され、 レンダリングとファイル書き込みが成功したことQImage::save()を示します。

于 2015-05-21T09:10:38.590 に答える