使用Puppeteer,我想使用特定的类名获取页面上的所有元素,然后遍历并单击每个元素。
使用jQuery,我可以通过以下方法实现此目的:
var elements = $("a.showGoals").toArray();
for (i = 0; i < elements.length; i++) {
$(elements[i]).click();
}
我如何使用Puppeteer实现此目的?
更新
在下面尝试了Chridam的答案,但我无法使它起作用(尽管答案很有帮助,所以感谢您的到来),所以我尝试了以下操作,并且此方法有效:
await page.evaluate(() => {
let elements = $('a.showGoals').toArray();
for (i = 0; i < elements.length; i++) {
$(elements[i]).click();
}
});
最佳答案
使用 page.evaluate
执行JS:
const puppeteer = require('puppeteer');
puppeteer.launch().then(async browser => {
const page = await browser.newPage();
await page.evaluate(() => {
let elements = document.getElementsByClassName('showGoals');
for (let element of elements)
element.click();
});
// browser.close();
});
关于javascript - 按类名称收集元素,然后单击每个元素-Puppeteer,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48673906/