
Company News
Socket Named Top Sales Organization by RepVue
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.
capture-all
Advanced tools
Flexible utility to get screenshots from Web pages
$ npm i capture-all
# or
$ yarn add capture-all
const { captureAll } = require('capture-all')
const fs = require('fs')
captureAll([
{
// Web page URL which will be captured
url: 'https://www.google.com/',
// Selector for capturing element
target: 'body',
// Selectors to hide from capture (add `visibility: hidden;` to the elements)
hidden: ['#gb'],
// Selectors to remove from capture (add `display: none;` to the elements)
remove: ['#fbar'],
// Delay (milliseconds) before taking screenshot
delay: 3000,
// Viewport size of a browser
viewport: {
width: 1024,
height: 800
}
}
]).then(results => {
results.forEach((result, i) => {
fs.writeFileSync(`result-${i}.png`, result.image)
})
})
You can define detailed behavior of the capturing processing with capture option. The capture option is an function receving Puppeteer's Page instance as the 1st argument and a capturing function as the 2nd argument. You have to call the 2nd argument function by your hand when you specify capture option.
const { captureAll } = require('capture-all')
const fs = require('fs')
captureAll([
{
url: 'https://www.google.com/',
target: 'body',
viewport: {
width: 1024,
height: 800
},
// Define the behavior around capturing
capture: async (page, capture) => {
// Click a button in the page by using Puppeteer API
const button = await page.$('#some-button')
await button.click()
// Capture the page at this moment
await capture()
// Click the button again
await button.click()
// Capture the page again
await capture()
}
}
]).then(results => {
results.forEach((result, i) => {
fs.writeFileSync(`result-${i}.png`, result.image)
})
})
captureAll(targets: CaptureTarget[], options?: CaptureOptions): Promise<CaptureResult[]>Capture screenshots of Web pages which specified by targets and return an array of CaptureResult object including captured image buffer.
CaptureTarget may have the following properties:
url: Web page URL which will be captured (required)target: a selector for capturing elementhidden: an array of selector to hide matched elements from captured imageremove: an array of selector to remove matched elements from captured imagedisableCssAnimation: true if css animations / transitions are to be disabled. (default: true)delay: Delay (milliseconds) before taking screenshotviewport: viewport size of browsercapture: You can hook the capturing processing by using this option. See Hooking Capturing Processing for details.CaptureOptions may have the following properties:
concurrency: a number of process which will be created for capturepuppeteer: an object passed to puppeteer.launchCaptureResult has the following properties:
index: Index of capture results generated by the same CaptureTarget. The result can be more than one if you specify capture option.image: captured image bufferurl: captured Web page URLtarget: a selector of captured elementhidden: an array of selector which is hidden from captured imageremove: an array of selector which is removed from captured imagedisableCssAnimation: true if css animations / transitions are to be disableddelay: Delay (milliseconds) before taking screenshotviewport: viewport size of browsercreateCaptureStream(targets: CaptureTarget[], options?: CaptureOptions): ReadableStream<CaptureResult>Similar to captureAll but returns readable stream of CaptureResult instead.
MIT
FAQs
Flexible utility to get screenshots from Web pages
We found that capture-all demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 1 open source maintainer 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.

Company News
Socket won two 2026 Reppy Awards from RepVue, ranking in the top 5% of all sales orgs. AE Alexandra Lister shares what it's like to grow a sales career here.

Security News
NIST will stop enriching most CVEs under a new risk-based model, narrowing the NVD's scope as vulnerability submissions continue to surge.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.