使用Puppeteer 從網頁建立PDF 時,等待頁面完全載入以確保完整性至關重要以及產生文件的準確性。讓我們深入研究如何在不訴諸手動延遲的情況下實現此目的。
page.waitForNavigation() 方法提供了一種可靠的方法來等待頁面導航事件,包括初始頁面載入。透過使用networkidle0選項,我們指定該函數應該等待,直到沒有更多活動的網路連線。
<code class="javascript">await page.goto(fullUrl, { waitUntil: 'networkidle0', });</code>
頁面載入後,我們可以填寫登入表單並提交。
<code class="javascript">await page.type('#username', 'scott'); await page.type('#password', 'tiger'); await page.click('#Login_Button');</code>
接下來,我們可以新增一個額外的 waitForNavigation() 呼叫以確保登入程序完成。
<code class="javascript">await page.waitForNavigation({ waitUntil: 'networkidle0', });</code>
最後,我們可以繼續產生 PDF。
<code class="javascript">await page.pdf({ path: outputFileName, displayHeaderFooter: true, headerTemplate: '', footerTemplate: '', printBackground: true, format: 'A4', });</code>
如果您遇到需要在PDF 中包含某些動態內容的情況,您可以使用page.waitForSelector() 來補充此方法,以等待特定元素出現在頁面上,然後再生成PDF。
<code class="javascript">await page.waitForSelector('#example', { visible: true, });</code>
透過利用這些技術,您可以確保 Puppeteer 在產生 PDF 之前等待頁面完全加載,從而產生全面且準確的文件。
以上是使用 Puppeteer 產生 PDF 之前如何確保頁面完成?的詳細內容。更多資訊請關注PHP中文網其他相關文章!