【问题标题】:get the console results (objects ) with Puppeteer使用 Puppeteer 获取控制台结果(对象)
【发布时间】:2020-10-26 06:34:15
【问题描述】:

我在从 devoloper 工具的控制台日志中已存在的站点获取数据时遇到问题。 我是 Puppeteer 的新手,所以我试图获取所有这些控制台日志结果,但它们都有一个字符串类型。 你们能帮我找到一种方法来获取真实对象或解析并使用它吗? 谢谢

【问题讨论】:

  • 请添加更多关于您需要获得的信息,并附上示例。目前还不清楚你的意思。您想获取网站发送到console.log 的数据吗?想获取页面上存在的一些全局窗口对象,可以console.log查看吗?
  • 谢谢,是的,我想获取网站以 JSON 格式发送到 console.log 的数据,以便我可以使用它
  • 要从远程站点捕获所有 console.log 语句,请尝试以下解决方案:stackoverflow.com/a/46245945/2715393

标签: javascript node.js web-scraping automation puppeteer


【解决方案1】:

我们使用它来捕获控制台事件并登录节点:

    page.on('console', async msg => {
      const args = msg.args();
      const vals = [];
      for (let i = 0; i < args.length; i++) {
        vals.push(await args[i].jsonValue());
      }
      console.log(vals.map(v => typeof v === 'object' ? JSON.stringify(v, null, 2) : v).join('\t'));
    });

它检查正在记录的消息的类型,如果它是一个对象,则运行JSON.stringify

【讨论】:

    猜你喜欢
    • 2020-08-01
    • 2019-09-05
    • 2016-06-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-11-03
    • 1970-01-01
    • 2020-04-15
    相关资源
    最近更新 更多