Heim >Web-Frontend >js-Tutorial >Wie kann ich Variablen an die Funktion „page.evaluate()' von Puppeteer übergeben?
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
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)
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!