![](https://developer.chrome.com/static/docs/puppeteer/images/hero.png?authuser=8)
Puppeteer
Puppeteer is a JavaScript library which provides a high-level API to automate both Chrome and Firefox over the Chrome DevTools Protocol and WebDriver BiDi.
Use it to automate anything in the browser, from taking screenshots and generating PDFs to navigating through and testing complex UIs and analysing performance.
Concepts
Page interactions
Query DOM elements, click buttons, type text, and more.
Network interception
Intercept and modify network requests and responses.
Take screenshots
Get visual snapshots of full pages or specific elements.
Run modes
Learn about headless, headful and shell modes and when to use them.
Blog posts
Read the most recent blog posts touching on Puppeteer, Chrome For Testing and WebDriver BiDi.
WebDriver BiDi production-ready in Firefox, Chrome and Puppeteer
Puppeteer 23 introduces stable support for Firefox 129 and up, offering a unified API for Chrome and Firefox automation, based on WebDriver BiDi.
Automation with WebDriver BiDi now available on BrowserStack
BrowserStack introduces WebDriver BiDi support: Enhance your Selenium Grid tests with event-driven automation.
Tools from Chrome for frictionless, automated testing
A brief overview of Puppeteer, Chrome Headless and Chrome for Testing and other resources from the Chrome Tooling team.