Maison >interface Web >js tutoriel >Comment introduire des retards dans le code du marionnettiste ?

Comment introduire des retards dans le code du marionnettiste ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-10 01:39:02397parcourir

How to Introduce Delays in Puppeteer Code?

Création de retards dans le code de Puppeteer

Dans Puppeteer, il peut être nécessaire d'introduire des retards intentionnels avant d'exécuter les lignes de code suivantes. Pour résoudre ce problème, vous pouvez opter pour l'une des solutions suivantes :

Utiliser une fonction de promesse

Pour des délais flexibles et indépendants, envisagez d'utiliser une simple fonction de promesse :

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

Pour mettre en œuvre le délai, effectuez les modifications suivantes :

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

En utilisant Fonction intégrée de Puppeteer

Si vous préférez rester dans l'environnement Puppeteer, profitez de la fonction waitForTimeout intégrée :

await page.waitForTimeout(4000)

Cette fonction mettra efficacement en pause l'exécution du code pour le nombre spécifié de millisecondes.

Utilisation d'Evaluated Promesses

Si vous préférez toujours utiliser page.evaluate, vous pouvez modifier votre code actuel pour résoudre la promesse après le délai souhaité :

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

Cependant, cette approche peut ne pas être aussi pratique que les deux premières méthodes en raison de son potentiel de surcomplication.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn