What is @puppeteer/browsers?
@puppeteer/browsers is a package that provides tools for managing browser binaries for Puppeteer. It allows you to download, install, and manage different versions of browsers like Chrome and Firefox, which can be used with Puppeteer for web scraping, automated testing, and other browser automation tasks.
What are @puppeteer/browsers's main functionalities?
Download a specific browser version
This feature allows you to download a specific version of a browser. In this example, it downloads Chrome version 91.0.4472.124.
const { downloadBrowser } = require('@puppeteer/browsers');
(async () => {
await downloadBrowser('chrome', '91.0.4472.124');
})();
List available browser versions
This feature lists all available versions of a specified browser. In this example, it lists all available versions of Chrome.
const { listBrowserVersions } = require('@puppeteer/browsers');
(async () => {
const versions = await listBrowserVersions('chrome');
console.log(versions);
})();
Install a browser
This feature installs a specified version of a browser. In this example, it installs Firefox version 89.0.
const { installBrowser } = require('@puppeteer/browsers');
(async () => {
await installBrowser('firefox', '89.0');
})();
Other packages similar to @puppeteer/browsers
puppeteer
Puppeteer is a Node library which provides a high-level API to control Chrome or Chromium over the DevTools Protocol. While @puppeteer/browsers focuses on managing browser binaries, Puppeteer itself is used for browser automation tasks such as web scraping and automated testing.
playwright
Playwright is a Node library to automate Chromium, Firefox, and WebKit with a single API. It provides similar functionalities to Puppeteer but supports more browsers. Playwright also includes tools for managing browser binaries, making it a comprehensive alternative to @puppeteer/browsers.
selenium-webdriver
Selenium WebDriver is a tool for automating web application testing, and it supports multiple browsers. Selenium WebDriver can manage browser binaries through WebDriverManager, which provides similar functionalities to @puppeteer/browsers.
@puppeteer/browsers
Manage and launch browsers/drivers from a CLI or programmatically.
CLI
Use npx
to run the CLI:
npx @puppeteer/browsers --help
Built-in per-command help
will provide all documentation you need to use the CLI.
npx @puppeteer/browsers --help
npx @puppeteer/browsers install --help
npx @puppeteer/browsers launch --help
Some example to give an idea of what the CLI looks like (use the --help
command for more examples):
npx @puppeteer/browsers install chrome@stable
npx @puppeteer/browsers install chrome@116.0.5793.0
npx @puppeteer/browsers install chrome@117
npx @puppeteer/browsers install chromedriver@canary
npx @puppeteer/browsers install chromedriver@116.0.5793.0
Known limitations
- Launching the system browsers is only possible for Chrome/Chromium.
API
The programmatic API allows installing and launching browsers from your code. See the test
folder for examples on how to use the install
, canInstall
, launch
, computeExecutablePath
, computeSystemExecutablePath
and other methods.