开发者问题收集

Node.js Puppeteer 单击父元素内的按钮时出现问题

2020-05-06
141

我正在使用 puppeteer 库来抓取网站。 我通过以下方式获取所有精确类的元素:

let items = await page.$$("li.item");
for (let item of items) {
    let elementText = await page.evaluate(
        (element) => element.textContent,
    item);
    console.log(elementText );    
}

并且我获取了所有元素文本。它有效。 问题是我需要单击这些元素内的按钮。 有一个带有 li.item 类的框,里面有一个按钮。我需要按下每个框内的每个按钮。我该怎么做? 我尝试过 element.children 甚至控制台记录 element ,但它只显示未定义。我在这里做错了什么?

1个回答

嗨,Sowam,

let buttons = await page.$$("//li//button");
for (let button of buttons) {
    await button.click();   
}

或者

let buttons = await page.$$("//li.item//button");
for (let button of buttons) {
    await button.click();   
}

您可以像这样使用 page.click 单击按钮。

i-Guru
2020-05-07