使用Puppeteer 從網頁建立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