Security News
Introducing the Socket Python SDK
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
@puppeteer/browsers
Advanced tools
@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.
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');
})();
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 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 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.
Manage and launch browsers/drivers from a CLI or programmatically.
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 # help for all commands
npx @puppeteer/browsers install --help # help for the install command
npx @puppeteer/browsers launch --help # help for the launch command
Some example to give an idea of what the CLI looks like (use the --help
command for more examples):
# Download the latest available Chrome for Testing binary corresponding to the Stable channel.
npx @puppeteer/browsers install chrome@stable
# Download a specific Chrome for Testing version.
npx @puppeteer/browsers install chrome@116.0.5793.0
# Download the latest Chrome for Testing version for the given milestone.
npx @puppeteer/browsers install chrome@117
# Download the latest available ChromeDriver version corresponding to the Canary channel.
npx @puppeteer/browsers install chromedriver@canary
# Download a specific ChromeDriver version.
npx @puppeteer/browsers install chromedriver@116.0.5793.0
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.
FAQs
Download and launch browsers
The npm package @puppeteer/browsers receives a total of 3,603,348 weekly downloads. As such, @puppeteer/browsers popularity was classified as popular.
We found that @puppeteer/browsers demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
The initial version of the Socket Python SDK is now on PyPI, enabling developers to more easily interact with the Socket REST API in Python projects.
Security News
Floating dependency ranges in npm can introduce instability and security risks into your project by allowing unverified or incompatible versions to be installed automatically, leading to unpredictable behavior and potential conflicts.
Security News
A new Rust RFC proposes "Trusted Publishing" for Crates.io, introducing short-lived access tokens via OIDC to improve security and reduce risks associated with long-lived API tokens.