Maison > interface Web > js tutoriel > Comment transmettre des variables à la fonction « page.evaluate() » de Puppeteer ?

Comment transmettre des variables à la fonction « page.evaluate() » de Puppeteer ?

Linda Hamilton
Libérer: 2024-12-16 08:30:15
original
880 Les gens l'ont consulté

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

Comment transmettre des variables dans une fonction d'évaluation dans Puppeteer

Lorsque vous utilisez Puppeteer pour évaluer une page, il est souvent nécessaire de transmettre des variables dans la fonction d'évaluation pour les utiliser dans le le contexte de la page. Pour y parvenir, il est essentiel de comprendre la méthode correcte de transmission des variables dans la fonction page.evaluate().

Dans le script Puppeteer fourni, les tentatives de transmission de la variable evalVar dans les liens de la fonction d'évaluation échouent, ce qui entraîne dans la variable n'étant pas définie lors de son accès dans la fonction. Cela se produit car les variables ne peuvent pas être transmises directement dans la fonction.

La solution réside dans la transmission de variables comme arguments à la fonction d'évaluation. En ajoutant les modifications suivantes à la fonction links, la variable evalVar sera transmise et accessible dans la fonction :

const links = await page.evaluate((evalVar) => {
  console.log('evalVar:', evalVar); // 2. should be defined now
  ...
}, evalVar); // 1. pass variable as an argument
Copier après la connexion

Notez que plusieurs variables peuvent être transmises en incluant des arguments supplémentaires lors de l'appel de page.evaluate(). Il est important de s'assurer que tous les arguments sont sérialisables au format JSON ou sont des JSHandles d'objets dans le navigateur. En suivant ces directives, vous pouvez transmettre avec succès des variables aux fonctions d'évaluation de Puppeteer et y accéder dans le contexte de la page.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal