Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimana untuk Memastikan Halaman Lengkap Sebelum Menjana PDF dengan Puppeteer?

Bagaimana untuk Memastikan Halaman Lengkap Sebelum Menjana PDF dengan Puppeteer?

DDD
DDDasal
2024-10-26 07:39:02735semak imbas

How to Ensure Page Completion Before Generating PDFs with Puppeteer?

Menjana PDF dengan Puppeteer: Menunggu Penyiapan Halaman

Apabila membuat PDF daripada halaman web menggunakan Puppeteer, adalah penting untuk menunggu sehingga halaman dimuatkan sepenuhnya untuk memastikan kesempurnaan dan ketepatan dokumen yang dihasilkan. Mari kita mendalami cara untuk mencapai ini tanpa menggunakan kelewatan manual.

Kaedah page.waitForNavigation() menyediakan cara yang boleh dipercayai untuk menunggu acara navigasi halaman, termasuk pemuatan halaman awal. Dengan menggunakan pilihan networkidle0, kami menyatakan bahawa fungsi perlu menunggu sehingga tiada lagi sambungan rangkaian aktif.

<code class="javascript">await page.goto(fullUrl, {
  waitUntil: 'networkidle0',
});</code>

Setelah halaman dimuatkan, kami boleh mengisi borang log masuk dan menyerahkannya.

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

Seterusnya, kami boleh menambah panggilan waitForNavigation() tambahan untuk memastikan proses log masuk selesai.

<code class="javascript">await page.waitForNavigation({
  waitUntil: 'networkidle0',
});</code>

Akhir sekali, kami boleh meneruskan penjanaan PDF.

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

Jika anda menghadapi kes di mana kandungan dinamik tertentu perlu disertakan dalam PDF, anda boleh melengkapkan pendekatan ini dengan page.waitForSelector() untuk menunggu elemen tertentu muncul pada halaman sebelum menjana PDF.

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

Dengan menggunakan teknik ini, anda boleh memastikan bahawa Puppeteer menunggu halaman dimuatkan sepenuhnya sebelum menjana PDF, menghasilkan penjanaan dokumen yang komprehensif dan tepat.

Atas ialah kandungan terperinci Bagaimana untuk Memastikan Halaman Lengkap Sebelum Menjana PDF dengan Puppeteer?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn