Heim >Web-Frontend >js-Tutorial >Wie übergebe ich Variablen an die Funktion „page.evaluate()' von Puppeteer?
Wenn Sie Puppeteer zur Evaluierung einer Seite verwenden, ist es häufig erforderlich, Variablen zur Verwendung innerhalb der Evaluierungsfunktion an die Evaluierungsfunktion zu übergeben Kontext der Seite. Um dies zu erreichen, ist es wichtig, die richtige Methode zur Übergabe von Variablen an die Funktion page.evaluate() zu verstehen.
Im bereitgestellten Puppeteer-Skript sind Versuche, die Variable evalVar an die Verknüpfungen der Auswertungsfunktion zu übergeben, erfolglos, was zur Folge hat dass die Variable undefiniert ist, wenn innerhalb der Funktion darauf zugegriffen wird. Dies liegt daran, dass Variablen nicht direkt an die Funktion übergeben werden können.
Die Lösung besteht darin, Variablen als Argumente an die Bewertungsfunktion zu übergeben. Durch das Hinzufügen der folgenden Änderungen an der Links-Funktion wird die Variable evalVar übergeben und ist innerhalb der Funktion zugänglich:
const links = await page.evaluate((evalVar) => { console.log('evalVar:', evalVar); // 2. should be defined now ... }, evalVar); // 1. pass variable as an argument
Beachten Sie, dass mehrere Variablen übergeben werden können, indem beim Aufruf von page.evaluate() zusätzliche Argumente einbezogen werden. Es ist wichtig sicherzustellen, dass alle Argumente als JSON serialisierbar sind oder JSHandles von browserinternen Objekten sind. Wenn Sie diese Richtlinien befolgen, können Sie Variablen erfolgreich an Auswertungsfunktionen in Puppeteer übergeben und im Kontext der Seite darauf zugreifen.
Das obige ist der detaillierte Inhalt vonWie übergebe ich Variablen an die Funktion „page.evaluate()' von Puppeteer?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!