无头木偶失踪的Favicon

时间:2019-08-20 08:42:46

标签: javascript puppeteer favicon

我正在编写一个简单的脚本,只是检查所有资源是否正确加载(我检查响应的状态码)。我决定为此使用puppeteer,我写了

(async () => {
    const browser = await puppeteer.launch({headless: false});
    const [page] = await browser.pages();
    page.on("response", (res) => {
        const url = res.url(), status=res.status();
        // my functionality goes here
        if (url.includes("favicon")) console.log(status, url); // not logging in headless
    });
    await page.goto("https://stackoverflow.com/", {waitUntil: 'networkidle2'});
    await browser.close();
})();

问题是,如果我以无头模式运行应用程序,则响应中缺少图标图标,我认为这与操纵p的人没有在无头中加载图标图标有关。有内置的功能或解决方法吗?

由于目前缺乏更好的解决方案,我正在评估网站图标网址并手动访问它

async function checkFavicon(page){
    const iconUrl = await page.$eval("link[rel*='icon']", ({href}) => href);
    await page.goto(iconUrl);
    await page.goBack();
}

0 个答案:

没有答案