PhantomJSonLoadFinished コールバックが途中で起動する
現在、多くの Web サイトで非同期読み込み技術が採用されており、PhantomJS が onLoadFinished コールバックを途中でトリガーする原因となっています。これにより、広告などの動的なコンテンツが欠けた不完全なスクリーンショットが生成される可能性があります。
この問題に対処するには、次のアプローチを検討してください:
コード例:
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); // Adjust timeout as necessary to accommodate loading time } });
この遅延を組み込むことで、PhantomJS はページを待機します。スクリーンショットをキャプチャする前に完全にロードし、すべての動的コンテンツが確実に含まれるようにします。
以上が正確なスクリーンショットを得るために、PhantomJS の時期尚早な onLoadFinished コールバックを修正する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。