@fuckingawesomenigga

Как закрыть браузер, если не нашел блок?

Сейчас если скраппер не находит блок, браузер остаётся открытым и ждёт.

const scraperObject = {
    async scraper(browser) {
        const urls = [
            'https://link.com'
        ];

        let pagePromise = (link) => new Promise(async (resolve, reject) => {
            let dataObj = {};
            let newPage = await browser.newPage();
            await newPage.goto(link);

            dataObj['text'] = await newPage.$eval('.block', div => div.textContent);

            resolve(dataObj);
            await newPage.close();
        });

        for (link in urls) {
            let currentPageData = await pagePromise(urls[link]);
            console.log(currentPageData)
        };
    }
}

module.exports = scraperObject;
  • Вопрос задан
  • 60 просмотров
Решения вопроса 1
@alekssamos
Программист любитель
1. Читаем это;
2. Или пробуем просто ошибку перехватить:
let newPage = await browser.newPage();
            try {
                await newPage.goto(link);
                dataObj['text'] = await newPage.$eval('.block', div => div.textContent);
            } catch(er) {
                await newPage.close();
                // await browser.close(); // для наглядности
                //console.error(er); // показать ошибку в консоле
            }
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы