【问题标题】:Dynamic param page evaluation动态参数页面评估
【发布时间】:2019-09-10 03:57:48
【问题描述】:

使用 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:未定义元素名称

我做错了什么?

【问题讨论】:

    标签: javascript node.js puppeteer


    【解决方案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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-08-12
      • 1970-01-01
      • 1970-01-01
      • 2017-10-14
      • 2020-07-24
      • 2012-08-03
      • 2021-10-03
      • 1970-01-01
      相关资源
      最近更新 更多