Массив из NodeList во время очистки с помощью Puppeteer не отображается - PullRequest
0 голосов
/ 30 марта 2020

Я пытаюсь создать сайт, но не могу найти способ показать результаты в console.log. Сценарий, который я создал, выглядит следующим образом:

const puppeteer = require("puppeteer");
(async () => {
    try { 
        const browser = await puppeteer.launch({ headless: true });
        const page = await browser.newPage();
        await page.goto(`https://www.coches.net/nuevo/km-0/`);
        await page.waitFor(4000);

        const news = await page.evaluate(() => {
            const urlsArray = Array.from(document.querySelectorAll('.mt-CardAd-link')).map(a => a.href);
            return urlsArray;
        });
        console.log(news);
        await browser.close();
        console.log("Browser Closed");
    } catch (err) {
        console.log(err);
        await browser.close();
        console.log("Browser Closed");
    }
})();

Хотя переменная urlsArray работает в devconsole Chrome, она не работает при запуске сценария в терминале с предыдущий скрипт. Я попробовал все, но я не нашел ничего, чтобы решить эту проблему. Что я могу сделать, чтобы наконец показать этот массив с console.log?

Спасибо!

1 Ответ

0 голосов
/ 30 марта 2020

Ваш сценарий выглядит нормально, но страница, на которую вы пытаетесь войти, проверяет файлы cookie и блокирует доступ к вашему сценарию.

Я полагаю, вы должны взглянуть на это: Как избегать быть обнаруженным как бот на Кукольнике и Фантоме js?

...