Skip to content

Chromeless

Node.js library that scripts Chrome locally or remotely on AWS Lambda; now archived and deprecated.

Stars
13.2k
Forks
568
Licence
MIT
Language
TypeScript
Last update
8.0 years ago
Type
Library

This repository is archived and no longer maintained.

What it is

Chromeless is a JavaScript/TypeScript library for controlling a Chrome browser from code, for example opening a page, typing into a form, clicking, and taking screenshots. It can drive Chrome on your own machine or run headless Chrome on AWS Lambda through a built-in proxy, which the project says can make parallel browser tests faster. The repository is archived, and the README says the project is deprecated in favor of Puppeteer.

  • Run browser integration tests in parallel against a real Chrome instance
  • Take screenshots of a web page from a script
  • Extract data from search results into JSON
  • Automate form filling and clicks in a real browser

Great for

  • Developers maintaining existing projects that already use Chromeless
  • Teams who want to study how a remote headless-Chrome proxy on AWS Lambda was structured
  • Readers comparing older browser automation libraries

Not ideal for

  • New projects, because the README says it is deprecated in favor of Puppeteer and the repository is archived with no recent pushes
  • Anyone needing ongoing bug fixes or security updates, since the last push was in 2018
  • Non-programmers, since usage requires writing Node.js code

How to get it

  1. 1

    Install with a package manager

    You'll need: Node.js 8.2 or greater (per the development requirements in the README) · Chrome version 60 or greater for local use

    Install the npm package

    npm install chromeless
  2. 2

    Run it

    • Install Chrome version 60 or greater on your machine.
    • Run npm install chromeless in your project.
    • Copy the usage example from the README into a file and run it with Node.js.
    • Check the printed screenshot file path or S3 URL to confirm it worked.
  3. 3

    Get the most out of it

    • Use the remote option with endpointUrl and apiKey to run Chrome on AWS Lambda through the built-in proxy.
    • Start Chrome yourself with --remote-debugging-port=9222 and set launchChrome: false if you want to control the browser instance.
    • Use --headless and --disable-gpu flags when running Chrome without a display.
    • Consult docs/api.md for the full list of methods and their options.

Downloads

Strengths

  • Simple, readable API for common browser actions such as goto, click, type and screenshot
  • Can run headless Chrome remotely on AWS Lambda with the same code used locally
  • MIT licensed and widely starred

Trade-offs

  • Archived and deprecated, so it will not receive updates; the README points to Puppeteer instead
  • Last push was in November 2018 and some listed API methods are marked not implemented yet
  • Requires a local Chrome install (version 60 or greater) for local use and an AWS setup for the remote proxy

How it compares

ProjectStarsTypeLevelUpdatedBest for
chromeless (this)13.2kLibraryintermediate8.0 years agoDevelopers maintaining existing projects that already use Chromeless
chromedp13.3kLibraryintermediate4 days agoGo developers who want to automate or test web pages in code
SeleniumBase13.2kLibraryintermediate8 days agoPython developers writing automated browser tests for websites
nightwatch12kLibraryintermediate5 months agoJavaScript or Node.js teams who want end-to-end browser tests
github-readme-stats79.9kDev toolbeginner1 months agoPeople who want a generated stats card on their GitHub profile README
refine36kFrameworkintermediate2 months agoDevelopers building internal admin panels or back-office tools in React

Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.