Puppeteer で PDF を生成する前にページの読み込みを完全に完了するにはどうすればよいですか?

Patricia Arquette
リリース: 2024-10-26 18:45:02
オリジナル
539 人が閲覧しました

How Can I Ensure Complete Page Loading Before Generating PDFs with Puppeteer?

Puppeteer PDF 生成のためのページの完全な読み込みを確認する

Puppeteer を使用する場合、PDF を生成する前に Web ページが完全に読み込まれるのを待つ必要があります。重要な。提供されている Python スクリプトはこれを実現することを目的としていますが、すべてのコンテンツが存在することを確認するために「遅延」が必要です。

Page.waitForNavigation() と Page.waitForSelector() の使用

より効率的なアプローチは、Puppeteer の page.waitForNavigation() メソッドを使用することです。ページがナビゲーションされるのを待ち、続行する前に新しいページが完全にロードされていることを確認します。スクリプトの更新バージョンは次のとおりです。

<code class="python">await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
})

await page.type('#username', 'scott')
await page.type('#password', 'tiger')

await page.click('#Login_Button')

await page.waitForNavigation({
  waitUntil: 'networkidle0',
})

await page.pdf({
  path: outputFileName,
  displayHeaderFooter: True,
  headerTemplate: '',
  footerTemplate: '',
  printBackground: True,
  format: 'A4',
})</code>
ログイン後にコピー

動的コンテンツの処理

特定の動的要素が PDF にキャプチャされる場合、page.waitForSelector () メソッドを使用することができます。指定されたセレクターが表示されるまで待機し、PDF を生成する前に目的のコンテンツがレンダリングされることを確認します。

<code class="python">await page.waitForSelector('#example', {
  visible: True,
})</code>
ログイン後にコピー

これらのメソッドを組み込むことで、ページが完全に読み込まれた後、再試行することなく PDF レポートを生成できます。手動による遅延に。これによりパフォーマンスが向上し、PDF レポートに必要なすべてのコンテンツが取り込まれます。

以上がPuppeteer で PDF を生成する前にページの読み込みを完全に完了するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!