Attente d'une durée spécifiée dans Puppeteer
Dans Puppeteer, les développeurs rencontrent parfois le besoin de suspendre l'exécution pendant une période définie avant de passer à l'exécution. prochaine ligne de code. Bien que les tentatives d'incorporation de setTimeout dans les fonctions d'évaluation puissent sembler une solution viable, elles rencontrent souvent un comportement inattendu.
Solutions pour suspendre l'exécution
function delay(time) { return new Promise(function(resolve) { setTimeout(resolve, time) }); }
Par exemple, pour faire une pause de 4 secondes :
console.log('before waiting'); await delay(4000); console.log('after waiting');
await page.waitForTimeout(4000)
await page.evaluate(async() => { await new Promise(function(resolve) { setTimeout(resolve, 1000) }); });
Recommandation
Bien que l'approche d'évaluation puisse être utilisée, les deux premières méthodes sont généralement plus simples et efficaces.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!