动态参数页面评估

时间:2019-09-09 19:05:51

标签: javascript node.js puppeteer

使用 Puppeteer 从HTML页面抓取不同的元素类型

const evaluation = await page.evaluate(
    () => [...document.querySelectorAll('h2')].map(elem => {
        return elem.className
    })
  )

我希望'h2'是一个动态参数

const elementName = "h2"
  const evaluation = await page.evaluate(
    () => [...document.querySelectorAll(elementName)].map(elem => {
        return elem.className
    })
  )

但是当我尝试时出现错误:

错误:评估失败:ReferenceError:未定义elementName

我在做什么错了?

1 个答案:

答案 0 :(得分:1)

尝试以下方法,它应该可以工作

const elementName = "h2"
  const evaluation = await page.evaluate(
    (elementName) => [...document.querySelectorAll(elementName)].map(elem => {
        return elem.className
    }), elementName
  )

这里是您可以查看的资源: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_objects/Function/bind