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
Libérer: 2024-11-10 01:39:02
original
377 Les gens l'ont consulté

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)
   });
}
Copier après la connexion

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

console.log('before waiting');
await delay(4000);
console.log('after waiting');
Copier après la connexion

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)
Copier après la connexion

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)
    });
});
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal