首頁 > web前端 > js教程 > 主體

使用 Puppeteer 產生 PDF 之前如何確保頁面完成?

DDD
發布: 2024-10-26 07:39:02
原創
734 人瀏覽過

How to Ensure Page Completion Before Generating PDFs with Puppeteer?

使用Puppeteer 產生PDF:等待頁面完成

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!