Puppeteer is a Node.js library that provides a high-level API to control Chrome, Chromium, or Firefox over the DevTools Protocol. It runs headless by default, meaning it operates without a visible user interface, but can also be configured to run in a full, non-headless mode. This makes it an incredibly versatile tool for developers looking to automate browser interactions.
With this library, you can programmatically perform most actions you would do manually in a browser. Its capabilities are extensive, allowing you to:
The library is available in two main packages: puppeteer
, which bundles a compatible browser version for immediate use, and puppeteer-core
, a lightweight version that connects to an existing browser installation.