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!