javascript - 单击父元素内的按钮的Node.js Puppeteer问题
问题描述
我正在使用 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
,但它只显示未定义。我在这里做错了什么?
解决方案
嗨,索瓦姆,
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 的按钮。