Puppeteer-变量未在评估函数中传递

问题描述 投票:0回答:1

我有一个功能,我试图从父节点获取子元素上的所有文本。

getTextsForChildElements: async function (selector) {
    const data = await page.evaluate(() => {
        const tds = Array.from(document.querySelectorAll(selector))
        return tds.map(td => td.textContent)
    },selector);
    console.log(data);
},

但是,我看到selector is not defined错误。

尝试使用此question作为帮助,但没有解决。任何想法,我如何通过选择器。

javascript puppeteer async.js evaluate
1个回答
0
投票

作为page.evaluate的第一个参数的匿名函数应接受您传递的参数。是的,它没有任何论据。如下修改:

getTextsForChildElements: async function (selector) {
    const data = await page.evaluate((selector) => {
        const tds = Array.from(document.querySelectorAll(selector))
        return tds.map(td => td.textContent)
    },selector);
    console.log(data);
},
© www.soinside.com 2019 - 2024. All rights reserved.