Heim > Web-Frontend > js-Tutorial > Wie übergebe ich Variablen korrekt an die Funktion „page.evaluate()' von Puppeteer?

Wie übergebe ich Variablen korrekt an die Funktion „page.evaluate()' von Puppeteer?

Mary-Kate Olsen
Freigeben: 2024-12-27 20:22:10
Original
262 Leute haben es durchsucht

How to Correctly Pass Variables to Puppeteer's `page.evaluate()` Function?

Übergabe von Variablen an die page.evaluate()-Funktion von Puppeteer

In Puppeteer können Sie mit der page.evaluate()-Funktion benutzerdefiniertes JavaScript auf einer Webseite innerhalb der ausführen Browser. Es ist jedoch nicht sofort klar, wie Variablen von Node an die page.evaluate()-Funktion zur Verwendung im ausgewerteten Code übergeben werden.

Beim Versuch, eine Variable zu übergeben, besteht der typische Ansatz darin, die Pfeilfunktionssyntax zu verwenden :

const links = await page.evaluate((evalVar) => {...});
Nach dem Login kopieren

Wenn Sie jedoch auf den Fehler stoßen, dass evalVar in der Pfeilfunktion undefiniert ist, bedeutet dies, dass die Variable nicht an die Funktion übergeben wird korrekt.

Um dieses Problem zu beheben, müssen Variablen als Argumente an die Seitenfunktion übergeben werden. Die angepasste Syntax lautet:

const links = await page.evaluate((evalVar) => {...}, evalVar);  // 1. pass variable as an argument
Nach dem Login kopieren

Hier wird die Variable evalVar als zusätzliches Argument an die Pfeilfunktion übergeben, wodurch sie im ausgewerteten Code zugänglich gemacht wird.

Diese Technik eignet sich für die Übergabe mehrerer auch Variablen. Fügen Sie einfach weitere Argumente zum Funktionsaufruf page.evaluate() hinzu:

await page.evaluate((a, b, c) => { console.log(a, b, c) }, a, b, c)
Nach dem Login kopieren

Es ist wichtig sicherzustellen, dass die übergebenen Argumente entweder als JSON serialisierbar sind oder JSHandles von In-Browser-Objekten sind, da diese unterstützt werden Typen zum Übergeben von Variablen an page.evaluate().

Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen korrekt an die Funktion „page.evaluate()' von Puppeteer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage