使用 Puppeteer 抓取时,NodeList 中的数组不会出现

An array from a NodeList while scraping with Puppeteer doesn't appear

我正在尝试对网站进行 scape,但找不到在 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 在 Chrome 的 devconsole 中有效,但在终端中使用先前的脚本启动脚本时却无效。我尝试了一切,但我没有找到任何解决这个问题的方法。 我该怎么做才能最终用 console.log?

显示这个数组

谢谢!

您的脚本似乎没问题,但您尝试进入的页面正在检查 cookie 并阻止您的脚本访问。

我相信你应该看看这个: How to avoid being detected as bot on Puppeteer and Phantomjs?