
The error and stack trace are both pretty cryptic, and it’s not clear why this failed. (/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:294:24)Īt ChildProcess.emit (node:events:512:28)Īt ChildProcess._handle.onexit (node:internal/child_process:291:12)Īt onErrorNT (node:internal/child_process:483:16)Īt process.processTicksAndRejections (node:internal/process/task_queues:82:21)

puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:300Įrror: Failed to launch the browser process! spawn /root/.cache/puppeteer/chrome/linux-1108766/chrome-linux/chrome ENOENTĪt onClose (/puppeteer/node_modules/puppeteer-core/lib/cjs/puppeteer/node/BrowserRunner.js:300:20)Īt ChildProcess. Please note that I am working on Linux Kubuntu 22.04, so if you’re using a radically different operating system, the steps may vary a little. The following bash script takes care of all this, assuming you already have Node.js installed. We can do this quite easily as follows.įirst, we need to create a folder, install prerequisites, and create a file in which to put our JavaScript code. The easiest thing we can do is use Puppeteer to open a webpage and take a screenshot of it. A Minimal Puppeteer Exampleīefore we embark upon our Docker journey, we need a simple Puppeteer program we can test with. In this article, we’ll see why this combination is problematic and how to solve it. However, since deploying a browser is fundamentally more complicated than your average API, Puppeteer and Docker are a little tricky to get working together.

Browser automation is also very common for automated testing of web applications, and may also be used for a lot of other things.Īs with any other piece of software, it is sometimes convenient to package a Puppeteer script in a Docker container. I’ve already shown it in action a couple of years ago in my article, “ Gathering Net Salary Data with Puppeteer“, where I used it for web scraping.

Puppeteer runs in headless mode by default, but can be configured to run in full (non-headless) Chrome/Chromium.” “Puppeteer is a Node.js library which provides a high-level API to control Chrome/Chromium over the DevTools Protocol. Puppeteer is an API enabling browser automation via Chrome/Chromium.
