Я хочу сделать скриншот с кукловодом, и он работает на один пост. Но я хочу, чтобы это повторялось.
Если это нормальная функция, я могу просто написать имя функции в последней части кода, чтобы она могла повторяться. Но это асинхронная функция, поэтому я не знаю, как ее повторить.
const puppeteer = require('puppeteer');
let postNumber = 1;
let by;
(async () => {
const browser = await puppeteer.launch({
executablePath: 'C:\\Program Files (x86)\\Google\\Chrome\\Application\\chrome.exe',
userDataDir: 'C:\\Users\\{computerName}\\AppData\\Local\\Google\\Chrome\\User Data',
headless: false
}); // default is true
const page = await browser.newPage();
await page.goto(`https://band.us/band/{someNumbers}/post/${postNumber}`, {
waitUntil: 'networkidle2'
});
let element = await page.$('.boardList');
by = await page.evaluate(() => document.getElementsByClassName('text')[0].textContent);
console.log(by);
await element.screenshot({
path: `./image/${postNumber}-${by}.png`
});
console.log(`SAVED : ${postNumber}-${by}.png`)
postNumber++;
await browser.close();
})();
После завершения функции переменная postNumber должна быть увеличена на единицу. А затем снова запустите код по новым URL-адресам.