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

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

Patricia Arquette
Freigeben: 2024-12-10 17:42:11
Original
177 Leute haben es durchsucht

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

Variablen in page.evaluate()-Funktionen

Die page.evaluate()-Funktion von Puppeteer ist ein vielseitiges Tool zum Ausführen von JavaScript innerhalb der Ausführung einer Seite Kontext. Die Übergabe von Variablen an diese Funktion kann jedoch schwierig sein.

Undefinierte Variablen

Wenn Sie versuchen, auf eine Variable innerhalb einer page.evaluate()-Funktion zuzugreifen, kann es zu Problemen kommen der Fehler „evalVar: undefiniert“. Dies liegt daran, dass außerhalb der Funktion definierte Variablen innerhalb der Funktion nicht zugänglich sind.

Variablen über Argumente übergeben

Um dieses Problem zu lösen, übergeben Sie die Variable als Argument an die Seite funktionieren wie folgt:

const links = await page.evaluate((evalVar) => {

  console.log(evalVar); // 2. Should be defined now

  ...

}, evalVar); // 1. Pass the variable as an argument
Nach dem Login kopieren

Mehrere Variablen

Sie können auch übergeben mehrere Variablen durch Hinzufügen weiterer Argumente zu page.evaluate():

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

Serialisierbare Parameter

Die Argumente, die Sie übergeben, müssen entweder für JSON serialisierbar sein oder JSHandles von sein In-Browser-Objekte. Einzelheiten finden Sie in der offiziellen Puppeteer-Dokumentation: https://pptr.dev/#?show=api-pageevaluatepagefunction-args.

Das obige ist der detaillierte Inhalt vonWie kann ich Variablen an die Funktion „page.evaluate()' von Puppeteer übergeben?. 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