Heim > Artikel > Web-Frontend > Wie führt man Verzögerungen im Puppeteer-Code ein?
Verzögerungen im Puppeteer-Code erzeugen
In Puppeteer kann es notwendig sein, absichtliche Verzögerungen einzuführen, bevor nachfolgende Codezeilen ausgeführt werden. Um dieses Problem zu lösen, können Sie sich für eine der folgenden Lösungen entscheiden:
Verwendung einer Promise-Funktion
Für flexible und unabhängige Verzögerungen sollten Sie die Verwendung einer einfachen Promise-Funktion in Betracht ziehen:
function delay(time) { return new Promise(function(resolve) { setTimeout(resolve, time) }); }
Um die Verzögerung zu implementieren, nehmen Sie die folgenden Änderungen vor:
console.log('before waiting'); await delay(4000); console.log('after waiting');
Verwenden Die integrierte Funktion von Puppeteer
Wenn Sie lieber in der Puppeteer-Umgebung bleiben möchten, nutzen Sie die integrierte Funktion „waitForTimeout“:
await page.waitForTimeout(4000)
Diese Funktion unterbricht die Codeausführung effektiv für die angegebene Anzahl von Millisekunden.
Mit Evaluated Versprechen
Wenn Sie page.evaluate immer noch bevorzugen, können Sie Ihren aktuellen Code ändern, um das Versprechen nach der gewünschten Verzögerung aufzulösen:
await page.evaluate(async() => { await new Promise(function(resolve) { setTimeout(resolve, 1000) }); });
Dieser Ansatz ist jedoch möglicherweise nicht möglich aufgrund der Gefahr einer Überkomplikation genauso praktisch sein wie die ersten beiden Methoden.
Das obige ist der detaillierte Inhalt vonWie führt man Verzögerungen im Puppeteer-Code ein?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!