Puppeteer is a Node library that provides a high-level API to control headless Chrome or Chromium over the DevTools Protocol. It can generate screenshots, crawl SPAs, automate form submission and UI testing, and more. Puppeteer communicates with the browser using the DevTools Protocol and controls browser instances, browser contexts within instances, pages within contexts, and frames within pages. It is maintained by the Chrome DevTools team.