木偶人。从NodeList中获取HTML?

我正在从代码中获取一个包含30个项目的列表。

const boxes = await page.evaluate(() => {
    return document.querySelectorAll("DIV.a-row.dealContainer.dealTile")
})

console.log(boxes);

The result

{ '0': {},
  '1': {},
  '2': {},
  ....
  '28': {},
  '29': {} }

我需要查看元素的HTML。

但我试过的每个属性 boxes 只是 undefined. 我试过 length, innerHTML、’innerText’和其他一些内容。

我确定盒子里真的有东西,因为在我开始 “浏览 “页面内容之前,puppeteer的截图显示了内容

我做错了什么?

解决方案:

有多种方法可以做到这一点。

  • 使用 page.$$eval 来执行选择器,并一步步返回结果。
  • 使用 page.evaluate 查询元素后获取属性。

代码示例 page.$$eval

const htmls = await page.$$eval('selector', el => el.innerHTML);

代码示例 page.evaluate

const singleBox = boxes[0];
const html = await page.evaluate(el => el.innerHTML, singleBox);

本文来自投稿,不代表实战宝典立场,如若转载,请注明出处:https://www.shizhanbaodian.com/40251.html

(0)
上一篇 20小时前
下一篇 20小时前

相关推荐

发表评论

登录后才能评论