Maison > interface Web > js tutoriel > le corps du texte

Pourquoi `page.evaluate()` de Puppeteer avec `querySelectorAll` renvoie-t-il des objets vides ?

DDD
Libérer: 2024-11-11 18:38:02
original
814 Les gens l'ont consulté

Why Does Puppeteer's `page.evaluate()` With `querySelectorAll` Return Empty Objects?

Comprendre la page.evaluate() de Puppeteer QuerySelectorAll renvoie des objets vides

La méthode page.evaluate() de Puppeteer est un outil puissant pour exécuter du JavaScript dans le navigateur, vous permettant d'interagir avec les éléments de la page et de récupérer des informations. Cependant, vous pouvez parfois rencontrer un problème où la méthode querySelectorAll() renvoie un tableau d'objets vides.

Ce problème vient du fait que les valeurs renvoyées par la fonction d'évaluation doivent être sérialisables en JSON. Les éléments et objets de document, comme ceux renvoyés par querySelectorAll(), ne peuvent pas être directement sérialisés.

Résoudre le problème

Pour résoudre ce problème, il est nécessaire d'extraire le informations souhaitées à partir des éléments et renvoyer uniquement les données sérialisables JSON. Dans le cas d'une liste de liens de la page, vous pouvez modifier le code comme suit :

await page.evaluate((sel) => {
    let elements = Array.from(document.querySelectorAll(sel));
    let links = elements.map(element => {
        return element.href
    })
    return links;
}, sel);
Copier après la connexion

Ce code extraira l'attribut href de chaque élément et retournera un tableau de chaînes, qui peut être du JSON sérialisé.

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal