javascript - 遍历元素数组获取数据

标签 javascript node.js puppeteer

这是我第一次使用 puppeteer,我需要一些抓取方面的帮助。

我正在尝试从 Array 元素列表中获取数据;首先,我应该点击第一个元素,获取标题,返回,然后点击 array 中的第二个元素,获取标题,返回,等等。

我尝试了很多方法,但似乎没有一种对我有用。

await page.goto(url);
const result = await page.evaluate(() => {
    let title = Array.from(document.querySelectorAll('a[class="Fw(b)"]'))
        .map(prvi => prvi.textContent);
    console.log(title.length);
    return {
        title
    };
});
browser.close();
return result;


最佳答案

你可以这样做

const links = await page.$$('a[class="Fw(b)"]');

for(const link of links) {
    await link.click();
    const prop = await link.getProperty('textContent');
    console.log((await prop.jsonValue()));
}
``

关于javascript - 遍历元素数组获取数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58779459/

相关文章:

javascript - 为什么 React 会以不变的状态一遍又一遍地渲染我的组件?

javascript - if ("test") 和 if(! !"test") 有什么区别

javascript - ExpressJS : passing parameters to html doesn't work

Puppeteer:如何在page.goto().catch中获取httpcode?

javascript - Puppeteer:如何下载整个网页供离线使用

javascript - MOO 工具出现类型错误 - "is not a function"

javascript - 如何有条件地加载语言相关的 Javascript 文件

javascript - 使用 Angular 2 下载 Node 流

javascript - MongoDb 字段加密

javascript - 单击筛选结果的按钮时,Puppeteer 超时超过 3000 毫秒