У меня есть функция javascript, которую я использую для очистки. Я использую ее с Puppeteer.Если я использую одно значение, оно работает, но если я ввожу цикл for
для его перебора массива значений, это не удастся.Я хотел бы знать, каким будет правильное место для введения цикла for.
Это мой рабочий базовый скрипт:
const puppeteer = require('puppeteer');
var listOfURLs = [url1, url2,url3,url4,url5]
let scrape = async () => {
const browser = await puppeteer.launch();
const page = await browser.newPage();
await page.goto(listOfURLs[0]);
const result = await page.evaluate(() => {
let title = document.querySelector('#innerLeft > div.dspPropertyTitle > h1').innerText;
return {
title
}
});
browser.close();
return result;
};
scrape().then((value) => {
console.log(value);
});
мои URL-адреса содержатся в переменной listOfURLs
.Если я вручную ссылаюсь на listOfURLs [0], как в примере выше, он работает просто отлично.Теперь я хочу, чтобы он прошел по всему массиву и имел доступ к значениям в виде listOfURLs [i], поэтому я попробовал это, и это не сработало.Я не знаю, что не так.
const puppeteer = require('puppeteer');
var listOfURLs = [url1, url2, url3, url4, url5]
for (i=0; i<=listOfURLs.length; i++) {
let scrape = async () => {
const browser = await puppeteer.launch({headless: true});
const page = await browser.newPage();
await page.goto(listOfURLs[i]);
const result = await page.evaluate(() => {
let title = document.querySelector('#innerLeft > div.dspPropertyTitle > h1').innerText;
return {
title
}
});
browser.close();
return result;
};
scrape().then((value) => {
console.log(value);
});
}