Rumah  >  Artikel  >  hujung hadapan web  >  Bagaimanakah Saya Boleh Memastikan Pemuatan Halaman Lengkap Sebelum Menjana PDF dengan Puppeteer?

Bagaimanakah Saya Boleh Memastikan Pemuatan Halaman Lengkap Sebelum Menjana PDF dengan Puppeteer?

Patricia Arquette
Patricia Arquetteasal
2024-10-26 18:45:02540semak imbas

How Can I Ensure Complete Page Loading Before Generating PDFs with Puppeteer?

Pastikan Pemuatan Halaman Lengkap untuk Penjanaan PDF Puppeteer

Apabila bekerja dengan Puppeteer, menunggu halaman web dimuatkan sepenuhnya sebelum menjana PDF adalah penting. Skrip Python yang disediakan bertujuan untuk mencapai matlamat ini, tetapi ia memerlukan 'kelewatan' untuk memastikan semua kandungan hadir.

Menggunakan Page.waitForNavigation() dan Page.waitForSelector()

Pendekatan yang lebih cekap ialah menggunakan kaedah Puppeteer's page.waitForNavigation(). Ia menunggu halaman untuk menjalani navigasi, memastikan halaman baharu dimuatkan sepenuhnya sebelum meneruskan. Berikut ialah versi skrip anda yang dikemas kini:

<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>

Mengendalikan Kandungan Dinamik

Dalam kes di mana unsur dinamik tertentu akan ditangkap dalam PDF, page.waitForSelector () kaedah boleh digunakan. Ia menunggu pemilih yang ditentukan untuk kelihatan, memastikan kandungan yang dikehendaki dipaparkan sebelum menjana PDF:

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

Dengan menggabungkan kaedah ini, anda boleh menjana laporan PDF sebaik sahaja halaman dimuatkan sepenuhnya, tanpa perlu menggunakan kaedah ini. kepada kelewatan manual. Ini meningkatkan prestasi dan menangkap semua kandungan yang diperlukan dalam laporan PDF anda.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Memastikan Pemuatan 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