shelfCategoryLinks
- это массив ссылок на определенные категории, несмотря на использование await page.waitForSelector('.itemCount');
itemCounter
, иногда возвращающее значение null, которое нарушает работу приложения
for (let shelf of shelfCategoryLinks) {
logger.info('Processing shelf: ' + shelf.shelfName);
//Wait some time before next operation
await page.waitFor(400);
//wait for submenu to appear
await page.waitForSelector('#shelf-holder li.noChild');
//Click into that submenu
await page.click(`li[id='${shelf.shelfId}']`);
//After click paroducts should load with also item counter which look like "Loaded 1-19 of 25 item"
//Wait for Item counter to appear
await page.waitForSelector('.itemCount');
//there we taking that item counter from DOM
const itemCounter = await page.$('.itemCount');
// Taking out total amount of items in shelf and parse to number from string
const totalItem = await itemCounter.$eval(
'strong:last-child',
strong => parseInt(strong.innerHTML, 10)
);
console.log(totalItem);
}
этот код перемещается по меню категорий и должен возвращатьсякакое-то число из HTML, но неожиданно после нескольких витков цикла const itemCounter
вместо этого возвращают, что HTML-элемент возвращает ноль, потому что page.$eval
вызывает сбой приложения.Почему возвращается NULL?