我需要去一个网站并获取他们的数据。我必须先单击click()才能转到下一个选项,在该选项上必须先进行另一个click(),然后再进行另一个click(),然后再进行另一个click()。
我想从他们的数据库制作json。您可以在这里检查它:
https://www.akumulator.pl/dobierz-akumulator
我已经尝试过一些关于puppeteer及其官方文档的教程
const puppeteer = require('puppeteer');
let scrape = async() => {
const browser = await puppeteer.launch({headless: false});
const page = await browser.newPage();
const models = [];
const fuels = [];
const engines = [];
const productions = [];
await page.goto('https://www.akumulator.pl/dobierz-akumulator');
const result = await page.evaluate(() => {
let data = [];
let elements = document.getElementById('edit-brand').children;
[].forEach.call(elements, element => {
data.push(element.innerText);
})
return data;
});
browser.close();
return result
}
scrape().then((value) => {
console.log(value); // Success!
});
答案 0 :(得分:2)
您可以在循环中使用类似的内容:
await Promise.all([
page.$(selectorToClick).click(),
page.waitForSelector(selectorToBeCreatedOrUnblocked)
]);