admin管理员组

文章数量:814757

操纵符:从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。我尝试了lengthinnerHTML,'innerText`等。

我确定该框确实包含某些内容,因为在我开始“浏览”页面内容之前,操纵up的屏幕截图显示了该内容

我在做什么错?

回答如下:

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

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

page.evaluate的代码示例

page.evaluate

page.$$eval的代码示例

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

本文标签: 操纵符从NodeList获取HTML