Assurer le chargement complet de la page pour la génération de PDF Puppeteer
Lorsque vous travaillez avec Puppeteer, attendre qu'une page Web se charge complètement avant de générer un PDF est crucial. Le script Python fourni vise à y parvenir, mais il nécessite un « délai » pour garantir que tout le contenu est présent.
Utilisation de Page.waitForNavigation() et Page.waitForSelector()
Une approche plus efficace consiste à utiliser la méthode page.waitForNavigation() de Puppeteer. Il attend que la page soit parcourue, s'assurant que la nouvelle page est entièrement chargée avant de continuer. Voici une version mise à jour de votre script :
<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>
Gestion du contenu dynamique
Dans les cas où des éléments dynamiques spécifiques doivent être capturés dans le PDF, la page.waitForSelector () peut être utilisée. Il attend que le sélecteur spécifié devienne visible, garantissant que le contenu souhaité est rendu avant de générer le PDF :
<code class="python">await page.waitForSelector('#example', { visible: True, })</code>
En incorporant ces méthodes, vous pouvez générer des rapports PDF une fois la page complètement chargée, sans avoir recours à aux retards manuels. Cela améliore les performances et capture tout le contenu nécessaire dans vos rapports PDF.
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!