
You create an instanceof Browser, open pages, and then manipulate them with Puppeteer's API.Įxample - navigating to and saving a screenshot as example.png: Puppeteer will be familiar to people using other browser testing frameworks. All examples below use async/await which is only supported in Node v7.6.0 or greater. Starting from v3.0.0 Puppeteer starts to rely on Node 10.18.1+. Note: Prior to v1.18.1, Puppeteer required at least Node v6.4.0. Puppeteer follows the latest maintenance LTS version of Node. Be sure that the version of puppeteer-core you install is compatible with thebrowser you intend to connect to. Puppeteer-core is intended to be a lightweight version of Puppeteer for launching an existing browser installation or for connecting to a remote one. ```bashnpm i puppeteer-core or "yarn add puppeteer-core" Since version 1.7.0 we publish the puppeteer-core package,a version of Puppeteer that doesn't download any browser by default. To skip the download, or to download a different browser, see Environment variables. Note: When you install Puppeteer, it downloads a recent version of Chromium (~170MB Mac, ~282MB Linux, ~280MB Win) that is guaranteed to work with the API. ```bashnpm i puppeteer or "yarn add puppeteer" Give it a spin: Getting Started Installation Capture a timeline trace of your site to help diagnose performance issues.

Run your tests directly in the latest version of Chrome using the latest JavaScript and browser features. Create an up-to-date, automated testing environment.Automate form submission, UI testing, keyboard input, etc.Crawl a SPA (Single-Page Application) and generate pre-rendered content (i.e.Generate screenshots and PDFs of pages.Most things that you can do manually in the browser can be done using Puppeteer! Here are a few examples to get you started: Puppeteer runs headless by default, but can be configured to run full (non-headless) Chrome or Chromium. Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. puppeteerrc.cjs (or | FAQ | Contributing | Troubleshooting Puppeteer uses several defaults that can be customized through configurationįor example, to change the default cache directory Puppeteer uses to installīrowsers, you can add a. Include $HOME/.cache into the project's deployment.įor a version of Puppeteer without the browser installation, see

Your project folder (see an example below) because not all hosting providers Heroku, you might need to reconfigure the location of the cache to be within If you deploy a project using Puppeteer to a hosting provider, such as Render or The browser is downloaded to the $HOME/.cache/puppeteer folderīy default (starting with Puppeteer v19.0.0). When you install Puppeteer, it automatically downloads a recent version ofĬhrome for Testing (~170MB macOS, ~282MB Linux, ~280MB Windows) that is guaranteed to
