Gathering detailed insights and metrics for puppeteer
Gathering detailed insights and metrics for puppeteer
Gathering detailed insights and metrics for puppeteer
Gathering detailed insights and metrics for puppeteer
JavaScript API for Chrome and Firefox
npm install puppeteer
puppeteer-core: v23.9.0
Published on 21 Nov 2024
puppeteer: v23.9.0
Published on 21 Nov 2024
puppeteer-core: v23.8.0
Published on 13 Nov 2024
puppeteer: v23.8.0
Published on 13 Nov 2024
puppeteer-core: v23.7.1
Published on 07 Nov 2024
puppeteer: v23.7.1
Published on 07 Nov 2024
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
88,945 Stars
5,255 Commits
9,091 Forks
1,185 Watching
24 Branches
504 Contributors
Updated on 28 Nov 2024
Minified
Minified + Gzipped
TypeScript (93.14%)
JavaScript (5.36%)
HTML (1.18%)
CSS (0.24%)
Dockerfile (0.06%)
Shell (0.02%)
Cumulative downloads
Total Downloads
Last day
0.8%
776,047
Compared to previous day
Last week
6.1%
4,216,787
Compared to previous week
Last month
9.8%
17,232,516
Compared to previous month
Last year
-10.4%
209,873,568
Compared to previous year
6
1
Puppeteer is a JavaScript library which provides a high-level API to control Chrome or Firefox over the DevTools Protocol or WebDriver BiDi. Puppeteer runs in the headless (no visible UI) by default
1npm i puppeteer # Downloads compatible Chrome during installation. 2npm i puppeteer-core # Alternatively, install as a library, without downloading Chrome.
1import puppeteer from 'puppeteer'; 2// Or import puppeteer from 'puppeteer-core'; 3 4// Launch the browser and open a new blank page 5const browser = await puppeteer.launch(); 6const page = await browser.newPage(); 7 8// Navigate the page to a URL. 9await page.goto('https://developer.chrome.com/'); 10 11// Set screen size. 12await page.setViewport({width: 1080, height: 1024}); 13 14// Type into search box. 15await page.locator('.devsite-search-field').fill('automate beyond recorder'); 16 17// Wait and click on first result. 18await page.locator('.devsite-result-item-link').click(); 19 20// Locate the full title with a unique string. 21const textSelector = await page 22 .locator('text/Customize and automate') 23 .waitHandle(); 24const fullTitle = await textSelector?.evaluate(el => el.textContent); 25 26// Print the full title. 27console.log('The title of this blog post is "%s".', fullTitle); 28 29await browser.close();
The latest stable version of the package.
Stable Version
1
6.5/10
Summary
Use-After-Free in puppeteer
Affected Versions
< 1.13.0
Patched Versions
1.13.0
Reason
no binaries found in the repo
Reason
30 out of 30 merged PRs checked by a CI test -- score normalized to 10
Reason
all changesets reviewed
Reason
project has 58 contributing companies or organizations
Details
Reason
no dangerous workflow patterns detected
Reason
update tool detected
Details
Reason
license file detected
Details
Reason
30 commit(s) and 12 issue activity found in the last 90 days -- score normalized to 10
Reason
packaging workflow detected
Details
Reason
GitHub workflow tokens follow principle of least privilege
Details
Reason
0 existing vulnerabilities detected
Reason
dependency not pinned by hash detected -- score normalized to 9
Details
Reason
security policy file detected
Details
Reason
SAST tool is not run on all commits -- score normalized to 7
Details
Reason
branch protection is not maximal on development and all release branches
Details
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
Score
Last Scanned on 2024-11-27T15:39:31Z
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More