How to use Puppeteer with the real Google Chrome on Mac

By default, when you install Puppeteer with npm install, it downloads a recent version of Chromium that is guaranteed to work with the API.

If you are on MacOS and want to use the Google Chrome already installed on your machine instead of the Chromium browser bundled with Puppeteer, you need to pass the executablePath argument when creating the browser instance:

const browser = await puppeteer.launch({
    executablePath: '/Applications/Google Chrome.app/Contents/MacOS/Google Chrome',
});

executablePath should point to /Applications/Google Chrome.app/Contents/MacOS/Google Chrome which is the location where Google Chrome is installed.

Other recommended articles

Investigating the Puppeteer mode of Open Bullet 2 (credential stuffing tool)

Third article of a series about Open Bullet 2, a credential stuffing tool. We analyze the the Puppeteer mode to better understand how it works, its browser fingerprint, and how it can be detected.

Read more

Published on: 08-08-2024

(Unmodified) Headless Chrome instrumented with Puppeteer: How consistent is the fingerprint in 2024?

In this article, we conduct a deep dive analysis of the fingerprint of an unmodified headless Chrome instrumented with Puppeteer browser. We compare it with the fingerprint of a normal Chrome browser used by a human user to identify the main differences and see if they can be leveraged for bot detection.

Read more

Published on: 02-06-2024

How to detect (modified, headless) Chrome instrumented with Puppeteer (2024 edition)

In this article, we present 3 efficient techniques to detect bots that leverage Puppeteer with headless and non-headless Chrome. These techniques have been tested in June 2024.

Read more

Published on: 15-06-2024