Maison > interface Web > js tutoriel > Comment garantir la complétion d'une page avant de générer des PDF avec Puppeteer ?

Comment garantir la complétion d'une page avant de générer des PDF avec Puppeteer ?

DDD
Libérer: 2024-10-26 07:39:02
original
834 Les gens l'ont consulté

How to Ensure Page Completion Before Generating PDFs with Puppeteer?

Générer des PDF avec Puppeteer : attendre la fin de la page

Lors de la création de PDF à partir de pages Web à l'aide de Puppeteer, il est crucial d'attendre que la page soit complètement chargée pour garantir son exhaustivité. et l'exactitude du document généré. Voyons comment y parvenir sans recourir à des retards manuels.

La méthode page.waitForNavigation() fournit un moyen fiable d'attendre les événements de navigation dans les pages, y compris le chargement initial de la page. En utilisant l'option networkidle0, nous précisons que la fonction doit attendre qu'il n'y ait plus de connexions réseau actives.

<code class="javascript">await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
});</code>
Copier après la connexion

Une fois la page chargée, nous pouvons remplir le formulaire de connexion et le soumettre.

<code class="javascript">await page.type('#username', 'scott');
await page.type('#password', 'tiger');
await page.click('#Login_Button');</code>
Copier après la connexion

Ensuite, nous pouvons ajouter un appel supplémentaire waitForNavigation() pour garantir que le processus de connexion est terminé.

<code class="javascript">await page.waitForNavigation({
  waitUntil: 'networkidle0',
});</code>
Copier après la connexion

Enfin, nous pouvons procéder à la génération du PDF.

<code class="javascript">await page.pdf({
  path: outputFileName,
  displayHeaderFooter: true,
  headerTemplate: '',
  footerTemplate: '',
  printBackground: true,
  format: 'A4',
});</code>
Copier après la connexion

Si vous rencontrez des cas où certains contenus dynamiques doivent être inclus dans le PDF, vous pouvez compléter cette approche avec page.waitForSelector() pour attendre que l'élément spécifique apparaisse sur la page avant de générer le PDF.

<code class="javascript">await page.waitForSelector('#example', {
  visible: true,
});</code>
Copier après la connexion

En utilisant ces techniques, vous pouvez vous assurer que Puppeteer attend que la page soit complètement chargée avant de générer le PDF, ce qui entraîne une génération de document complète et précise.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal