Headless Browsers

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

Download as .zip Download as .tar.gz View on GitHub

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
Awesomium Chromium-based headless browser engine C++, .NET
benv Stub a browser environment in node.js and headlessly test your client-side code. JavaScript
browser-launcher Detect and launch browser versions, headlessly or otherwise JavaScript
browser.rb Headless Ruby browser on top of Nokogiri and TheRubyRacer Ruby
Browserjet Headless webkit browser with node.js interface. JavaScript
BrowserKit BrowserKit simulates the behavior of a web browser. PHP
CasperJS CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko). JavaScript
DalekJS Automated cross browser testing with JavaScript. JavaScript
Erik Headless browser on top of Kanna and WebKit. Swift
Geb Geb is a browser automation solution. Groovy
ghost.py ghost.py is a webkit web client written in python. Python
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
grope A non-GUI library to represent browser environment using WebKit Framework + RubyCocoa Ruby
Guillotine A .NET headless browser, written in C#. .NET
Headless Headless browser support for fast web acceptance testing in .Net .NET
headless_browser Headless browser based on WebKit written in C++. C++
HeadlessBrowser A very miniature headless browser, for testing the DOM on Node.js JavaScript
HtmlUnit HtmlUnit is a "GUI-Less browser for Java programs". Java
Jabba-Webkit Jabba's headless webkit browser for scraping AJAX-powered webpages. Python
Jasmine-Headless-Webkit jasmine-headless-webkit uses the QtWebKit widget to run your specs without needing to render a pixel. Python, JavaScript, Ruby
Jaunt Java Web Scraping & Automation API Java
jBrowserDriver A Selenium-compatible headless browser which is written in pure Java. WebKit-based. Works with any of the Selenium Server bindings. Java
jedi-crawler Lightsabing Node/PhantomJS crawler; scrape dynamic content : without the hassle JavaScript
Lotte Lotte is a headless, automated testing framework built on top of PhantomJS and inspired by Ghostbuster. JavaScript
MechanicalSoup A Python library for automating interaction with websites. Python
mechanize Stateful programmatic web browsing. Python
Nightmare Nightmare is a high-level browser automation library built as an easier alternative to PhantomJS. JavaScript
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)
phantompy Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit Python
Python-Webkit Python-Webkit is a python extension to Webkit to add full, complete access to Webkit's DOM Python
RoboBrowser A simple, Pythonic library for browsing the web without a standalone web browser. Python
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
SimpleBrowser A flexible and intuitive web browser engine designed for automation tasks. Built on the .Net 4 framework. .NET
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
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
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
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
trifleJS A headless Internet Explorer browser using the .NET WebBrowser Class with a Javascript API running on the V8 engine. JavaScript
twill Twill is a simple language that allows users to browse the Web from a command-line interface. Python
WatiN Web Application Testing In .Net .NET
Watir-WebDriver The most elegant way to use Selenium WebDriver with ruby. Ruby
WKZombie Functional headless browser (with JSON support) for iOS using WebKit and hpple/libxml2. Swift
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
Zombie.js Zombie.js is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required. JavaScript