私は使用していますファントムJSいくつかの Web ページを読み込むには v1.4.1 が必要です。サーバー側にアクセスできないので、サーバー側へのリンクを取得するだけです。Web ページで Adobe Flash をサポートする必要があるため、Phantom の旧バージョンを使用しています。
問題は、多くの Web サイトがマイナー コンテンツを非同期で読み込んでいることです。そのため、すべてがまだ読み込まれていないときに、Phantom の onLoadFinished コールバック (HTML の onLoad に類似) が早すぎるタイミングで起動されます。たとえば、広告などのすべての動的コンテンツを含むスクリーンショットを作成するために、Web ページが完全に読み込まれるのを待つ方法を提案してもらえますか?
ベストアンサー1
もう1つのアプローチは、通常の方法と同様に、ページが読み込まれた後、レンダリングを行う前にPhantomJSに少し待つように指示することです。ラスタライズこの例では、JavaScript が追加リソースの読み込みを完了できるように、タイムアウトが長くなります。
page.open(address, function (status) {
if (status !== 'success') {
console.log('Unable to load the address!');
phantom.exit();
} else {
window.setTimeout(function () {
page.render(output);
phantom.exit();
}, 1000); // Change timeout as required to allow sufficient time
}
});