npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

element-screenshots

v1.2.1

Published

A package for taking screenshots of a specific element and merging them into a single image

Downloads

5

Readme

element-screenshots-playwright

A package for taking screenshots of a specific element using playwright or puppeteer and merging them into a single image.

Installation

To install the package, you need to have node.js and npm installed on your machine. Once you have those, you can run the following command:

npm install element-screenshots

Once the package is installed, you can import it in your project and start using the functions.

Please note that this package has some peerDependencies, you need to have installed playwright or puppeteer.

Usage

import screenshotElement from 'element-screenshots';

const nrOfViewports = 3;
const element = await page.$('#your-element-selector');
const page = await browser.newPage();
await page.goto('https://your-url.com');
const path = 'path/to/output.png';
await screenshotElement(nrOfViewports, element, page, path);

The screenshotElement function takes four arguments:

nrOfViewports: The number of screenshots to be taken. The function will take screenshots of the element by scrolling through the page, one screenshot per viewport.
element: The element you want to take the screenshots from. It should be a valid element from the page object that you are working with.
page: The page object you are working with. This should be an instance of a page from a browser automation library like Playwright, Puppeteer, or Jest-Puppeteer.
path: The output file path. The path should be a valid file path where the image will be saved. The file format should be PNG.
The package also exports takeScreenshots and mergeImages functions, you can use them individually if you want to take the screenshots and merge them later.

The package assumes that you have the dependencies installed and configured, such as playwright, puppeteer or Jest-puppeteer and the target browser.

## API

### screenshotElement(nrOfViewports, element, page, path)

Takes screenshots of the element and merge it into a single image.

#### nrOfViewports

Type: `number`

The number of screenshots to be taken. The function will take screenshots of the element by scrolling through the page, one screenshot per viewport.

#### element

Type: `Object`

The element you want to take the screenshots from. It should be a valid element from the page object that you are working with.

#### page

Type: `Object`

The page object you are working with. This should be an instance of a page from a browser automation library like Playwright, Puppeteer, or Jest-Puppeteer.

#### path

Type: `string`

The output file path. The path should be a valid file path where the image will be saved. The file format should be PNG.

### takeScreenshots(nrOfViewports, element, page)

Takes screenshots of the element.

#### nrOfViewports

Type: `number`

The number of screenshots to be taken. The function will take screenshots of the element by scrolling through the page, one screenshot per viewport.

#### element

Type: `Object`

The element you want to take the screenshots from. It should be a valid element from the page object that you are working with.

#### page

Type: `Object`

The page object you are working with. This should be an instance of a page from a browser automation library like Playwright, Puppeteer