@xcuube

Как закрыть браузер puppeteer?

Добрый день! Как в таком коде можно закрыть браузер puppeteer ?
Знаю, что это делается через browser.close();, но у меня просто нет к нему доступа.
(в коде отметил место, где нужно закрыть браузер)

puppeteer.launch(
            {
                args: [
                    '--proxy-server=ip:port', // Or whatever the address is
                ]
            }
        )
        .then(function(browser) {
            return browser.newPage();
        })
        .then(function(page) {
            page.authenticate({
                username: 'log',
                password: 'pass',
            });
            return page.goto(desktopUrl).then(function() {
                return page.content();
            });
        })
        .then(function(html) {

            const productList = [];

            $('div.product-card', html).each(function() {
                let link = $("a.card-link", $(this)).attr("href");
                let pic = $("img.image-component", $(this)).attr("src");
                productList.push({ProductLink: link, picture: pic});
            });

            console.log(productList);

//----------Где-то тут нужно закрыть браузер
            
            return callback(null, productList);
        })
        .catch(function(err) {
            return callback(err, null);
        });
  • Вопрос задан
  • 463 просмотра
Решения вопроса 1
DIITHiTech
@DIITHiTech
Fullstack javascript developer
puppeteer.launch(
    {
        args: [
            '--proxy-server=ip:port', // Or whatever the address is
        ]
    }
)
    .then(function (browser) {
        return browser.newPage().then(function (page) {
            page.authenticate({
                username: 'log',
                password: 'pass',
            });
            return page.goto(desktopUrl).then(function () {
                return page.content();
            });
        })
            .then(function (html) {
                const productList = [];
                $('div.product-card', html).each(function () {
                    let link = $("a.card-link", $(this)).attr("href");
                    let pic = $("img.image-component", $(this)).attr("src");
                    productList.push({ProductLink: link, picture: pic});
                });
                console.log(productList);
                //----------Где-то тут нужно закрыть браузер
                return browser.close().then(function () {
                    callback(null, productList); // :( лучше с промисами и продолжать, а не переходить на коллбеки
                });
            })
    })
    .catch(function (err) {
        return callback(err, null);
    });
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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