我正在尝试Puppeteer。这是可以在其上运行的示例代码:https://try-puppeteer.appspot.com/

问题是此代码返回一个空对象数组:



我在弄错吗?

const browser = await puppeteer.launch();

const page = await browser.newPage();
await page.goto('https://reddit.com/');

let list = await page.evaluate(() => {
  return Promise.resolve(Array.from(document.querySelectorAll('.title')));
});

console.log(JSON.stringify(list))

await browser.close();

最佳答案

评估函数返回的值应该是json可序列化的。 ta田
解决方案是从元素中提取href值并将其返回。

 await this.page.evaluate((sel) => {
        let elements = Array.from(document.querySelectorAll(sel));
        let links = elements.map(element => {
            return element.href
        })
        return links;
    }, sel);

关于javascript - puppeteer 页面。评估querySelectorAll返回空对象,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/46377955/

10-12 12:35
查看更多