「労働者が自分の仕事をうまくやりたいなら、まず自分の道具を研ぎ澄まさなければなりません。」 - 孔子、「論語。陸霊公」
表紙 > プログラミング > Puppeteer で PDF を生成する前にページの完成を確認するにはどうすればよいですか?

Puppeteer で PDF を生成する前にページの完成を確認するにはどうすればよいですか?

2024 年 11 月 9 日に公開
ブラウズ:823

How to Ensure Page Completion Before Generating PDFs with Puppeteer?

Puppeteer を使用した PDF の生成: ページの完了を待機しています

Puppeteer を使用して Web ページから PDF を作成する場合、完全性を確保するためにページが完全に読み込まれるまで待つことが重要です生成されたドキュメントの正確性。手動による遅延に頼らずにこれを実現する方法を詳しく見てみましょう。

page.waitForNavigation() メソッドは、ページの初期読み込みなどのページ ナビゲーション イベントを待機する信頼性の高い方法を提供します。 networkidle0 オプションを使用することで、アクティブなネットワーク接続がなくなるまで関数が待機するように指定します。

await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
});

ページが読み込まれたら、ログイン フォームに記入して送信できます。

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

次に、ログイン プロセスが確実に完了するように、waitForNavigation() 呼び出しを追加します。

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

最後に、PDF の生成に進むことができます。

await page.pdf({
  path: outputFileName,
  displayHeaderFooter: true,
  headerTemplate: '',
  footerTemplate: '',
  printBackground: true,
  format: 'A4',
});

特定の動的コンテンツを PDF に含める必要がある場合は、page.waitForSelector() を使用してこのアプローチを補完し、特定の要素がページに表示されるのを待ってから、 PDF.

await page.waitForSelector('#example', {
  visible: true,
});

これらの手法を利用すると、Puppeteer が PDF を生成する前にページが完全にロードされるのを確実に待機できるため、包括的かつ正確なドキュメントが生成されます。

最新のチュートリアル もっと>

免責事項: 提供されるすべてのリソースの一部はインターネットからのものです。お客様の著作権またはその他の権利および利益の侵害がある場合は、詳細な理由を説明し、著作権または権利および利益の証拠を提出して、電子メール [email protected] に送信してください。 できるだけ早く対応させていただきます。

Copyright© 2022 湘ICP备2022001581号-3