/HeadlessBrowsers

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

Creative Commons Zero v1.0 UniversalCC0-1.0

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.

Name About Supported Languages License
Awesomium Chromium-based headless browser engine C++, .NET Free/Commerical
benv Stub a browser environment in node.js and headlessly test your client-side code. JavaScript MIT
browser-launcher Detect and launch browser versions, headlessly or otherwise JavaScript MIT
browser.rb Headless Ruby browser on top of Nokogiri and TheRubyRacer Ruby Not specified
Browserjet Headless webkit browser with node.js interface. JavaScript Not specified
BrowserKit BrowserKit simulates the behavior of a web browser. PHP MIT
CasperJS CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). JavaScript MIT
Chromium Embedded Framework CEF is a open source project based on the Google Chromium project. JavaScript BSD
DalekJS Automated cross browser testing with JavaScript. JavaScript MIT
Erik Headless browser on top of Kanna and WebKit. Swift MIT
Geb Geb is a browser automation solution. Groovy Apache
ghost.py ghost.py is a webkit web client written in python. Python MIT
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
grope A non-GUI library to represent browser environment using WebKit Framework + RubyCocoa Ruby MIT
Headless Headless browser support for fast web acceptance testing in .Net .NET MIT
headless_browser Headless browser based on WebKit written in C++. C++ Not Specified
Headless Chromium Headless Chromium is a library for running Chromium in a headless/server environment. C++ Not Specified
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
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
Jaunt Java Web Scraping & Automation API Java Not specified
jBrowserDriver A Selenium-compatible headless browser which is written in pure Java. WebKit-based. Works with any of the Selenium Server bindings. Java 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
MechanicalSoup A Python library for automating interaction with websites. Python MIT
mechanize Stateful programmatic web browsing. Python BSD-3 clause, ZPL 2.1
Nightmare Nightmare is a high-level browser automation library built as an easier alternative to PhantomJS. JavaScript MIT
PhantomJS 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
phantompy Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit Python LGPL-2.1
Python-Webkit Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM Python GNU
RoboBrowser A simple, Pythonic library for browsing the web without a standalone web browser. Python BSD-3 clause
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
SimpleBrowser A flexible and intuitive web browser engine designed for automation tasks. Built on the .Net 4 framework. .NET BSD-3 Clause
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
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
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 -
Spynner Programmatic web browsing module with AJAX support for Python Python Not specified
SST SST (selenium-simple-test) is a web test framework that uses Python to generate functional browser-based tests. Python -
stanislaw Python headless browser testing Python Not specified
trifleJS A headless Internet Explorer browser using the .NET WebBrowser Class with a Javascript API running on the V8 engine. JavaScript MIT
twill Twill is a simple language that allows users to browse the Web from a command-line interface. Python MIT
WatiN Web Application Testing In .Net .NET Apache 2.0
Watir The most elegant way to use Selenium WebDriver with ruby. Ruby MIT
Webloop Scriptable, headless WebKit with a Go API. Go BSD-3 Clause
WKZombie Functional headless browser (with JSON support) for iOS using WebKit and hpple/libxml2. Swift MIT
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
Zombie.js Zombie.js is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required. JavaScript MIT