• Stars
    star
    5,975
  • Rank 6,750 (Top 0.2 %)
  • Language
  • License
    Creative Commons ...
  • Created about 10 years ago
  • Updated almost 2 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A list of (almost) all headless web browsers in existence

Headless Browsers

A list of (almost) all headless web browsers in existence

A web browser without a graphical user interface, controlled programmatically. Used for automation, testing, and other purposes.

Browser engines

These browser engines fully render web pages or run JavaScript in a virtual DOM

Name About Supported Languages License
Chromium Embedded Framework CEF is a open source project based on the Google Chromium project. JavaScript BSD
Erik Headless browser on top of Kanna and WebKit. Swift MIT
jBrowserDriver A Selenium-compatible headless browser which is written in pure Java. WebKit-based. Works with any of the Selenium Server bindings. Java Apache License v2.0
PhantomJS [Unmaintained] PhantomJS is a headless WebKit scriptable with a JavaScript API. It has fast and native support for various web standards: DOM handling, CSS selector, JSON, Canvas, and SVG. JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R(via Selenium) BSD 3-Clause
Splash Splash is a javascript rendering service with an HTTP API. It's a lightweight browser with an HTTP API, implemented in Python using Twisted and QT. Any BSD 3-Clause
Surf Surf is an open source project that implements a virtual web browser that can be controlled programatically Go MIT

Multi drivers

These libraries can control multiple browser engines (typically using Selenium)

Name About Supported Languages License
CasperJS [Unmaintained] CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). JavaScript MIT
Geb Geb is a Groovy interface to WebDriver. Groovy Apache
Playwright Playwright is a Node library to automate the Chromium, WebKit and Firefox browsers with a single API TypeScript Apache
playwright-dotnet Playwright for .NET is a library to automate Chromium, Firefox and WebKit browsers with a single API. .NET MIT
playwright-python Playwright for Python is a library to automate Chromium, Firefox and WebKit browsers with a single API. Python Apache
playwright-java Playwright for Java is a library to automate Chromium, Firefox and WebKit browsers with a single API. Java Apache
playwright-go Playwright for Go is a library to automate Chromium, Firefox and WebKit browsers with a single API. Go MIT
Selenium Selenium is a suite of tools to automate web browsers across many platforms. JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R Apache
Splinter Splinter is an open source tool for testing web applications using Python. It lets you automate browser actions, such as visiting URLs and interacting with their items. Python -
SST SST (selenium-simple-test) is a web test framework that uses Python to generate functional browser-based tests. Python -
Watir The most elegant way to use Selenium WebDriver with Ruby. Ruby MIT

PhantomJS drivers

These libraries control PhantomJS

Name About Supported Languages License
Ghostbuster Automated browser testing via phantom.js, with all of the pain taken out! That means you get a real browser, with a real DOM, and can do real testing! JavaScript Not specified
jedi-crawler Lightsabing Node/PhantomJS crawler; scrape dynamic content : without the hassle JavaScript Not specified
Lotte Lotte is a headless, automated testing framework built on top of PhantomJS and inspired by Ghostbuster. JavaScript MIT
phantompy Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit Python LGPL-2.1
X-RAY Supports strings, arrays, arrays of objects, nested object structures, selector API, pagination, crawler, concurrency, throttles, delays, timeouts, and pluggable drivers (PhantomJS, HTTP) JavaScript MIT
Horseman Promise based Node.js module for PhantomJS. Features chainable API, understandable control-flow, support for multiple tabs, and built-in jQuery. JavaScript MIT

Chromium drivers

These libraries control Chromium

Name About Supported Languages License
Awesomium Chromium-based headless browser engine C++, .NET Free/Commercial
Headless Chromium Chromium feature activated with the --headlesss flag, currently availible in the nightly build of Chromium, not yet released C++ Opensource
Puppeteer Headless Chrome Node API from the Chrome DevTools team JavaScript Apache
PuppeteerSharp PuppeteerSharp is a .NET port of the official Headless Chrome Node.JS Puppeteer API .NET MIT
chrome-remote-interface Chrome Debugging Protocol interface for Node.js JavaScript MIT
Chromy Features chainable API, mobile emulation, fundamental API such as javascript evaluation. JavaScript MIT
chromedp A faster, simpler way to drive browsers (Chrome, Edge, Safari, Android, etc) without external dependencies (ie, Selenium, PhantomJS, etc) using the Chrome Debugging Protocol. Go MIT
Chromeless Chrome automation made simple. Runs locally or headless on AWS Lambda. JavaScript MIT
Chrome PHP PHP API to drive Chromium or Google Chrome via the Chrome Devtools Protocole. PHP Fair
Wendigo Test-oriented browser automation library using Puppeteer. JavaScript GPL-3.0
cdp4j A web-automation library for Java. It can be used for automating the use of web pages and for testing web pages. It use Google Chrome DevTools Protocol to automate Chrome/Chromium based browsers. Java cdp4j Commercial License
Pyppeteer Python port of puppeteer JavaScript (headless) chrome/chromium browser automation library Python MIT
Headless Chrome A high-level API to control headless Chrome or Chromium over the DevTools Protocol. Rust None

Webkit drivers

These drivers control an in-process instance of Webkit

Name About Supported Languages License
Browserjet Runs a custom build of webkit, controlled by node.js interface. JavaScript Not specified
ghost.py ghost.py is a webkit web client written in python. Python MIT
headless_browser Headless browser based on WebKit written in C++. C++ Not Specified
Jabba-Webkit Jabba's headless webkit browser for scraping AJAX-powered webpages. Python Not specified
Jasmine-Headless-Webkit jasmine-headless-webkit uses the QtWebKit widget to run your specs without needing to render a pixel. Python, JavaScript, Ruby Free
Python-Webkit Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM Python GNU
Spynner Programmatic web browsing module with AJAX support for Python Python Not specified
Webloop Scriptable, headless WebKit with a Go API. Go BSD 3-Clause
wkhtmltopdf wkhtmltox wkhtmltoimage Command line tool rendering HTML into PDF and other image formats. shell, C LGPLv3
WKZombie Functional headless browser (with JSON support) for iOS using WebKit and hpple/libxml2. Swift MIT

Other drivers

These libraries control lesser known browsers or OS-provided web libraries

Name About Supported Languages License
Cypress Cypress supports end-to-end, integration and unit tests and makes debugging tests simple. Default engine is headless Electron. JavaScript MIT
Nightmare Nightmare is a high-level browser automation library built as an easier alternative to PhantomJS. It runs on the Electron engine. JavaScript MIT
grope A RubyCocoa interface to the macOS WebKit Framework RubyCocoa MIT
SlimerJS SlimerJS is similar to PhantomJs, except that it runs Gecko, the browser engine of Mozilla Firefox, instead of Webkit (And it is not yet truly headless). JavaScript Mozilla 2.0
SpecterJS A scriptable headless Internet Explorer port of PhantomJS. JavaScript MIT
trifleJS A headless Internet Explorer browser using the .NET WebBrowser Class with a Javascript API running on the V8 engine. JavaScript MIT

Fake Browser Engine

These libraries are typically naive or HTML-only browsers

Name About Supported Languages License
AngleSharp .Net Http Parsing Library .NET MIT
Guillotine A .NET headless browser, written in C# .NET LGPL-3.0
benv Stub a browser environment in node.js and headlessly test your client-side code. JavaScript MIT
browser.rb Headless Ruby browser on top of Nokogiri and TheRubyRacer Ruby Not specified
BrowserKit BrowserKit simulates the behavior of a web browser. PHP MIT
DamonJS Bot navigating urls and doing tasks. JavaScript Apache
Headless Headless browser support for fast web acceptance testing in .Net .NET MIT
HeadlessBrowser A very miniature headless browser, for testing the DOM on Node.js JavaScript Not specified
HtmlUnit HtmlUnit is a "GUI-Less browser for Java programs". Java Apache
Jaunt Java Web Scraping & Automation API Java Apache (monthly edition)
Jauntium Free Java library that allows you to easily automate Chrome, Firefox, Safari, Edge, IE, and other modern web browers. Java Apache
JSDom A JavaScript implementation of the WHATWG DOM and HTML standards, for use with Node.js. JavaScript MIT
MechanicalSoup A Python library for automating interaction with websites. Python MIT
mechanize Stateful programmatic web browsing. Python BSD 3-Clause, ZPL 2.1
node-as-browser Create a browser-like environment within Node.js JavaScript MIT
RoboBrowser A simple, Pythonic library for browsing the web without a standalone web browser. Python BSD 3-Clause
SimpleBrowser A flexible and intuitive web browser engine designed for automation tasks. Built on the .Net 4 framework. .NET BSD 3-Clause
stanislaw Naive, mechanize-like HTML parser/form driver. Python Not specified
twill Twill is a simple language that interacts with basic HTML pages (no JavaScript support). Python MIT
WeasyPrint WeasyPrint is a visual rendering engine for HTML and CSS that can export to PDF. It aims to support web standards for printing. Python BSD 3-Clause
WWW::Mechanize Headless browser for Perl with many plugins and extensions, notably Test::WWW:Mechanize for testing Perl Perl 5
X-RAY Supports strings, arrays, arrays of objects, nested object structures, selector API, pagination, crawler, concurrency, throttles, delays, timeouts, and pluggable drivers (PhantomJS, HTTP) JavaScript MIT
Xidel (Internet Tools) An XQuery-based cli web scraper for static X/HTML pages and JSON-APIs. FreePascal, XQuery GPL-2
Zombie.js Zombie.js is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required. JavaScript MIT

Runs in a browser

Name About Supported Languages License
DalekJS [unmaintained and recommend TestCafΓ©] Automated cross browser testing with JavaScript. JavaScript MIT
TestCafΓ© Automated browser testing for the modern web development stack. JavaScript MIT
Sahi Sahi is a cross-browser automation/testing tool with the facility to record and playback scripts. JavaScript, Java, Ruby, PHP Apache / Commercial
WatiN Web Application Testing In .Net .NET Apache 2.0

Misc tools

Name About Supported Languages License
browser-launcher Detect and launch browser versions, headlessly or otherwise JavaScript MIT
Headless Recorder Chrome extension that records your browser interactions and generates a Playwright or Puppeteer script JavaScript MIT

More Repositories

1

awesome-postgres

A curated list of awesome PostgreSQL software, libraries, tools and resources, inspired by awesome-mysql
9,992
star
2

crestify

Intelligent Bookmarking
Python
258
star
3

obsidian-rich-links

TypeScript
116
star
4

cytev2

MacOS background screen recorder/reader for easy history search
Swift
80
star
5

WARCTools

A list of tools related to W(eb)ARC(hive)
53
star
6

awesome-webcomics

A curated list of awesome webcomics
43
star
7

eyeos

eyeos open source archive
Shell
18
star
8

awesome-databases

A curated list of awesome databases
16
star
9

awesome-machine-learning

A collection of awesome Machine Learning resources
14
star
10

awesome-linux

Merged with https://github.com/aleksandar-todorovic/awesome-linux
12
star
11

awesome-comparisons

A list of awesome comparison projects
12
star
12

top10k

A list of the top 10 thousand repositories for various languages on GitHub (updated monthly)
9
star
13

Flask-Search

Powerful search for Flask apps powered by ElasticSearch (Coming Soonβ„’)
Python
8
star
14

PhantomWARC

Generate WARC files from dynamic webpages
Python
6
star
15

well-written-docs

A list of well written documentation I've come across
6
star
16

awesome-podcasts

A curated list of awesome technology podcasts
5
star
17

archive.today

archive.today client and bundler
Go
3
star
18

preact-meteor-data

react-meteor-data ported to Preact
JavaScript
2
star
19

one-click-hugo-cms-netlify

CSS
2
star
20

music_tagger

Correctly tag your music files
JavaScript
2
star
21

ns-resume

HTML
2
star
22

awesome-phoenix

A curated list of awesome Phoenix software, libraries, tools and resources
2
star
23

waybackcheck

Submits a URL to the Wayback Machine and returns the archive URL
Python
2
star
24

py-bcrypt

Automatically exported from code.google.com/p/py-bcrypt
C
2
star
25

vzvirtpanel

OpenVZ Virtualization Control Panel Project
JavaScript
2
star
26

awesome-code

Awesome projects that demonstrate what great code looks like
2
star
27

redis-3.0.5-armv7

Redis compiled for armv7
Shell
2
star
28

x2go

x2go vnc setup script
2
star
29

cloud-storage-services

A comparison of cloud storage services
2
star
30

flask-whooshalchemy-example

A Flask blog app to demonstrate integration with WhooshAlchemy
Python
2
star
31

archival-bot

Python script to submit a URL to multiple archival services
Python
2
star
32

ns-git-project

HTML
1
star
33

flask-elasticsearch

Simple Flask app with elasticsearch-dsl-py integration
Python
1
star
34

beautifulsoup3

Beautiful Soup 3
Python
1
star
35

readitbetter

Read internet content better
HTML
1
star
36

suspicious-clarke-iuu5vy

Created with CodeSandbox
JavaScript
1
star
37

webDevResources

A curated list of resources related to web development
1
star
38

randstr

Create random string using random.org API
Python
1
star
39

magnetor

Get magnet links for torrents from the CLI
Python
1
star
40

pymovieinfo

Get information about any movie from the command line
Python
1
star
41

openvpn-install

OpenVPN setup script for CentOS
Shell
1
star
42

duckducknow

Search DuckDuckGo right from your terminal
Python
1
star
43

qb-diffjs-vs-diff-match-patch-test-output

Created with CodeSandbox
JavaScript
1
star
44

StartupPodcasts

Podcasts about startups and entrepreneurship
1
star
45

flashcards-for-developers-1

JavaScript
1
star
46

ns-mizar-web-dev

1
star
47

awesome-chat-rooms

A list of awesome chat rooms for software developers
1
star
48

textraction

Extract all alpha-numerical characters from a webpage
Python
1
star
49

mutagen

Automatically exported from code.google.com/p/mutagen
Python
1
star
50

getsetup-backend-challenge

JavaScript
1
star
51

openvz-setup

CentOS 6 and Debian 7 OpenVZ setup script
Shell
1
star
52

urbandefinition

Get Urban Dictionary definitions from the terminal
Python
1
star