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 🙏

© 2026 – Pkg Stats / Ryan Hefner

screenx

v0.2.0

Published

CLI to open a browser page, take screenshots, inject scripts, and automate interactions.

Downloads

10

Readme

ScreenX

npm version

ScreenX is a command-line interface (CLI) tool built with Node.js and Puppeteer that allows you to automate interactions with web pages. You can open URLs, take screenshots, inject scripts, fill out forms, and much more. It's a versatile tool for both human-driven and AI-driven automation tasks.

Installation

To use ScreenX, you need to have Node.js installed. Install the package globally via npm:

npm install -g screenx

Usage

After global installation, you can run the screenx command directly from your terminal.

screenx [options] <url>

Usage Examples

1. Simple Screenshot

Takes a screenshot of a page and saves it to a file.

screenx --screenshot google.png https://google.com

2. Form Simulation (Google Search)

Fills a search term on Google, presses Enter, and takes a screenshot of the results page.

screenx --screenshot results.png --simulate-form '[{"action":"type", "selector":"textarea[name=q]", "value":"Artificial Intelligence"}, {"action":"press", "key":"Enter"}]' https://www.google.com

3. Human Interaction (CAPTCHA Solving)

If you encounter a CAPTCHA, use the --human mode. The script will pause and display a "Click to continue" button on the page, giving you time to solve the challenge before proceeding.

screenx --screenshot human-results.png --simulate-form '[{"action":"type", "selector":"textarea[name=q]", "value":"Artificial Intelligence"}, {"action":"press", "key":"Enter"}]' --human https://www.google.com

Available Parameters

| Parameter | Description | | ------------------------- | ---------------------------------------------------------------------------- | | <url> | Required. URL to open (including localhost). | | --screenshot <path> | Path where the screenshot will be saved. | | --fullpage | Captures the entire page by automatically scrolling. | | --scroll <px> | Scrolls the page by X pixels before any other action. | | --resolution <WxH> | Sets the browser window resolution (default: 1280x720). | | --inject-js <script> | JavaScript code (as a string) to be executed on the page. | | --inject-js-file <path> | Path to a .js file with code to be injected. | | --simulate-form <json> | Fills fields and performs actions based on a JSON array. | | --headless | Runs the browser in "headless" mode, without a graphical window. | | --human | Waits for the user to click a floating button before continuing. | | --delay <ms> | Waits for a specified time (in milliseconds) before proceeding with actions. | | --timeout <ms> | Sets the maximum execution time (in ms) for page loading. | | --output <json\|text> | Sets the output format (default: text). | | --verbose | Displays detailed logs for each execution step. | | -h, --help | Shows CLI help. | | -v, --version | Displays the ScreenX version. |