首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Puppeteer返回空对象

Puppeteer返回空对象
EN

Stack Overflow用户
提问于 2020-10-29 02:15:18
回答 1查看 375关注 0票数 0

我正在用木偶来抓取网站。但是,尽管我可以看到那里有很多类,但类仍然是空的。对此有什么建议吗?

我正在寻找“门户类型的人”的课程。这一页上大约有90个。但是所有的对象都是空的。

代码语言:javascript
复制
const axios = require('axios');
const cheerio = require('cheerio');
const puppeteer = require('puppeteer');
const mainurl = "https://www.fbi.gov/wanted/kidnap";


(async () => {
    //const browser = await puppeteer.launch({headless: false});
    const browser = await puppeteer.launch();
    const page = await browser.newPage();
  
    await page.goto(mainurl);
    await page.evaluate(() => {
        window.scrollBy(0, document.body.scrollHeight);
      });
    await page.waitForTimeout(1000);

    let persons = await page.evaluate(() => {
        return document.querySelectorAll('.portal-type-person');
        //return document.querySelector('.portal-type-person');
    });

    //console.log(persons);
    for(let data in persons) {
        console.log(persons[data]);
    }
  
    browser.close();
  })();
EN

回答 1

Stack Overflow用户

发布于 2020-10-29 06:15:23

不幸的是,page.evaluate()只能传输可序列化的值(粗略地说,就是JSON可以处理的值)。当document.querySelectorAll()返回不可序列化的DOM元素的集合(它们包含方法和循环引用)时,集合中的每个元素都被替换为一个空对象。您需要返回可序列化的值(例如,href数组)或使用page.$$(selector)ElementHandle API之类的东西。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64578952

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档