Я использую node.js и puppeteer для получения некоторых данных. Из целевой таблицы я хочу получить только определенные записи, хотя .... Точнее, записи с innerText: 'file. ........ .idx '.
Ниже показан мой запрос:
const tableRows = await page.$$('table > tbody tr');
console.log(tableRows.length);
let tableCell01;
let tableCell01Val;
for (let i=1; i < tableRows.length; i++){
tableRow = tableRows[i];
tableCell01 = await tableRow.$('td:nth-child(1) a');
tableCell01Val = await page.evaluate( tableCell01 => tableCell01.href, tableCell01 );
console.log('\n');
console.log(tableCell01Val);
}
А вот выход без фильтрации:
Консоль
6
file.20180702.idx
file.20180703.idx
file.20180705.idx
sitemap.20180702.xml
sitemap.20180703.xml
sitemap.20180705.xml
Таким образом, желаемый результат должен быть:
Консоль
3
file.20180702.idx
file.20180703.idx
file.20180705.idx
Какой лучший способ сделать это? Лучше всего было бы отфильтровать уже перед циклом ... чтобы также получить правильный tableRows.length