我正在编写一个简单的脚本,只是检查所有资源是否正确加载(我检查响应的状态码)。我决定为此使用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();
}