Rumah >hujung hadapan web >tutorial js >Bagaimana untuk Memperkenalkan Kelewatan dalam Kod Puppeteer?

Bagaimana untuk Memperkenalkan Kelewatan dalam Kod Puppeteer?

Mary-Kate Olsen
Mary-Kate Olsenasal
2024-11-10 01:39:02388semak imbas

How to Introduce Delays in Puppeteer Code?

Mencipta Kelewatan dalam Kod Puppeteer

Dalam Puppeteer, mungkin perlu memperkenalkan kelewatan yang disengajakan sebelum melaksanakan baris kod berikutnya. Untuk menangani perkara ini, anda boleh memilih salah satu daripada penyelesaian berikut:

Menggunakan Fungsi Janji

Untuk kelewatan yang fleksibel dan bebas, pertimbangkan untuk menggunakan fungsi janji yang mudah:

function delay(time) {
   return new Promise(function(resolve) { 
       setTimeout(resolve, time)
   });
}

Untuk melaksanakan kelewatan, buat perkara berikut perubahan:

console.log('before waiting');
await delay(4000);
console.log('after waiting');

Menggunakan Fungsi Terbina dalam Puppeteer

Jika anda lebih suka kekal dalam persekitaran Puppeteer, manfaatkan fungsi waitForTimeout terbina dalam:

await page.waitForTimeout(4000)

Fungsi ini secara berkesan akan menjeda pelaksanaan kod untuk bilangan yang ditentukan milisaat.

Menggunakan Janji yang Dinilai

Jika anda masih memilih untuk menggunakan page.evaluate, anda boleh mengubah suai kod semasa anda untuk menyelesaikan janji selepas kelewatan yang diingini:

await page.evaluate(async() => {
    await new Promise(function(resolve) { 
           setTimeout(resolve, 1000)
    });
});

Walau bagaimanapun, pendekatan ini mungkin tidak praktikal seperti dua kaedah pertama kerana potensinya untuk terlalu rumit.

Atas ialah kandungan terperinci Bagaimana untuk Memperkenalkan Kelewatan dalam Kod 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