From e17bee947675e209d439eda86575f77e5527634b Mon Sep 17 00:00:00 2001 From: Bart Veneman Date: Tue, 23 Feb 2021 22:37:19 +0100 Subject: [PATCH] Set custom User-Agent string for Puppeteer as workaround for websites that block Puppeteer when `HeadlessChrome` is present in the UA string. --- src/index.js | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/index.js b/src/index.js index b5e6e44..23235de 100644 --- a/src/index.js +++ b/src/index.js @@ -20,6 +20,10 @@ module.exports = async (url, {waitUntil = 'networkidle0', origins = 'exclude'} = // Create a new page and navigate to it const page = await browser.newPage() + + // Set an explicit UserAgent, because the default UserAgent string includes something like + // `HeadlessChrome/88.0.4298.0` and some websites/CDN's block that with a HTTP 403 + await page.setUserAgent('Mozilla/5.0 (Macintosh; Intel Mac OS X 10.16; rv:85.0) Gecko/20100101 Firefox/85.0') await page.coverage.startCSSCoverage() url = normalizeUrl(url, {stripWWW: false}) const response = await page.goto(url, {waitUntil})