• June 10, 2024

Best Headless Browser Selenium

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

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

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
Supported Languages
Chromium Embedded Framework
CEF is a open source project based on the Google Chromium project.
Headless browser on top of Kanna and WebKit.
A Selenium-compatible headless browser which is written in pure Java. WebKit-based. Works with any of the Selenium Server bindings.
Apache License v2. 0
[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 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.
Surf is an open source project that implements a virtual web browser that can be controlled programatically
Multi drivers
These libraries can control multiple browser engines (typically using Selenium)
[Unmaintained] CasperJS is an open source navigation scripting & testing utility written in Javascript for the PhantomJS WebKit headless browser and SlimerJS (Gecko).
Geb is a Groovy interface to WebDriver.
Playwright is a Node library to automate the Chromium, WebKit and Firefox browsers with a single API
PlaywrightSharp is a library to automate Chromium, Firefox and WebKit browsers with a single API.
Selenium is a suite of tools to automate web browsers across many platforms.
JavaScript, Python, Ruby, Java, C#, Haskell, Objective-C, Perl, PHP, R
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.

SST (selenium-simple-test) is a web test framework that uses Python to generate functional browser-based tests.
The most elegant way to use Selenium WebDriver with Ruby.
PhantomJS drivers
These libraries control PhantomJS
Automated browser testing via, with all of the pain taken out! That means you get a real browser, with a real DOM, and can do real testing!
Not specified
Lightsabing Node/PhantomJS crawler; scrape dynamic content: without the hassle
Lotte is a headless, automated testing framework built on top of PhantomJS and inspired by Ghostbuster.
Phantompy is a headless WebKit engine with powerful pythonic api build on top of Qt5 Webkit
LGPL-2. 1
Supports strings, arrays, arrays of objects, nested object structures, selector API, pagination, crawler, concurrency, throttles, delays, timeouts, and pluggable drivers (PhantomJS, HTTP)
Promise based module for PhantomJS. Features chainable API, understandable control-flow, support for multiple tabs, and built-in jQuery.
Chromium drivers
These libraries control Chromium
Chromium-based headless browser engine
Headless Chromium
Chromium feature activated with the –headlesss flag, currently availible in the nightly build of Chromium, not yet released
Headless Chrome Node API from the Chrome DevTools team
PuppeteerSharp is a port of the official Headless Chrome Puppeteer API
Chrome Debugging Protocol interface for
Features chainable API, mobile emulation, fundamental API such as javascript evaluation.
A faster, simpler way to drive browsers (Chrome, Edge, Safari, Android, etc) without external dependencies (ie, Selenium, PhantomJS, etc) using the Chrome Debugging Protocol.
Chrome automation made simple. Runs locally or headless on AWS Lambda.
Chrome PHP
PHP API to drive Chromium or Google Chrome via the Chrome Devtools Protocole.
Test-oriented browser automation library using Puppeteer.
GPL-3. 0
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.
cdp4j Commercial License
Python port of puppeteer JavaScript (headless) chrome/chromium browser automation library
Headless Chrome
A high-level API to control headless Chrome or Chromium over the DevTools Protocol.
Webkit drivers
These drivers control an in-process instance of Webkit
Runs a custom build of webkit, controlled by interface.
is a webkit web client written in python.
Headless browser based on WebKit written in C++.
Not Specified
Jabba’s headless webkit browser for scraping AJAX-powered webpages.
jasmine-headless-webkit uses the QtWebKit widget to run your specs without needing to render a pixel.
Python, JavaScript, Ruby
Python-Webkit is a python extension to Webkit to add full, complete access to Webkit’s DOM
Programmatic web browsing module with AJAX support for Python
Scriptable, headless WebKit with a Go API.
wkhtmltopdf wkhtmltox wkhtmltoimage
Command line tool rendering HTML into PDF and other image formats.
shell, C
Functional headless browser (with JSON support) for iOS using WebKit and hpple/libxml2.
Other drivers
These libraries control lesser known browsers or OS-provided web libraries
Cypress supports end-to-end, integration and unit tests and makes debugging tests simple. Default engine is headless Electron.
Nightmare is a high-level browser automation library built as an easier alternative to PhantomJS. It runs on the Electron engine.
A RubyCocoa interface to the macOS WebKit Framework
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).
Mozilla 2. 0
A scriptable headless Internet Explorer port of PhantomJS.
A headless Internet Explorer browser using the WebBrowser Class with a Javascript API running on the V8 engine.
Fake Browser Engine
These libraries are typically naive or HTML-only browsers
Http Parsing Library
A headless browser, written in C#
LGPL-3. 0
Stub a browser environment in and headlessly test your client-side code.
Headless Ruby browser on top of Nokogiri and TheRubyRacer
BrowserKit simulates the behavior of a web browser.
Bot navigating urls and doing tasks.
Headless browser support for fast web acceptance testing in
A very miniature headless browser, for testing the DOM on
HtmlUnit is a “GUI-Less browser for Java programs”.
Java Web Scraping & Automation API
Apache (monthly edition)
Free Java library that allows you to easily automate Chrome, Firefox, Safari, Edge, IE, and other modern web browers.
A JavaScript implementation of the WHATWG DOM and HTML standards, for use with
A Python library for automating interaction with websites.
Stateful programmatic web browsing.
BSD 3-Clause, ZPL 2. 1
Create a browser-like environment within
A simple, Pythonic library for browsing the web without a standalone web browser.
A flexible and intuitive web browser engine designed for automation tasks. Built on the 4 framework.
Naive, mechanize-like HTML parser/form driver.
Twill is a simple language that interacts with basic HTML pages (no JavaScript support).
WeasyPrint is a visual rendering engine for HTML and CSS that can export to PDF. It aims to support web standards for printing.
Headless browser for Perl with many plugins and extensions, notably Test::WWW:Mechanize for testing
Perl 5
Xidel (Internet Tools)
An XQuery-based cli web scraper for static X/HTML pages and JSON-APIs.
FreePascal, XQuery
is a lightweight framework for testing client-side JavaScript code in a simulated environment. No browser required.
Runs in a browser
[unmaintained and recommend TestCafé] Automated cross browser testing with JavaScript.
Automated browser testing for the modern web development stack.
Sahi is a cross-browser automation/testing tool with the facility to record and playback scripts.
JavaScript, Java, Ruby, PHP
Apache / Commercial
Web Application Testing In
Apache 2. 0
Misc tools
Detect and launch browser versions, headlessly or otherwise
Headless Recorder
Chrome extension that records your browser interactions and generates a Playwright or Puppeteer script
Why Should I Run My Selenium Tests in Headless? - SmartBear

Why Should I Run My Selenium Tests in Headless? – SmartBear

Headless testing is greatly underutilized – here are three quick ways it can increase performance
Selenium has grown to be one of the most popular automation tools available today. It automates many tasks needed for online testing, including checking titles, navigating pages, clicking links, and much more. Many developers already use the full set of capabilities Selenium offers, but few know about running their tests in headless browsers. And even fewer actually deploy this approach in their daily testing. With headless testing you can increase your testing performance to an all-time high.
What is Headless testing?
Headless testing is simply running your Selenium tests using a headless browser. It operates as your typical browser would, but without a user interface, making it excellent for automated testing.
How does Headless testing benefit developers?
There are several benefits, actually. They can create new testing opportunities, as well as accelerate tests you’re already running.
Benefits include:
Greater testing reach
Improved speed and performance
When running Selenium tests, you typically need a machine that supports the graphics of the web browser that you’re testing on. With headless testing we get rid of this need and open up a whole new set of devices to test on. Ex. Servers, docker containers, etc.
Selenium tests can take a while to complete, due to elements on a page that the browser needs to load. Headless testing gets rid of this load time, allowing you to cut your testing times significantly. In our tests with headless testing, we’ve seen a 30% reduction of test execution times. And you can use other techniques, like running more tests in parallel, to amplify that benefit.
Running normal Selenium tests take up your screen time, keeping you from being able to accomplish anything else on that device. With the UI disabled, headless testing lets you continue to use your computer while the tests execute in the background.
In our conversations with customers, we’ve found that headless testing has let developers experience all of these benefits – and many more!
How have you used headless testing to improve your processes? And where do you see opportunities to take advantage of them? Respond in the comments!
To help you get started Headless testing with CrossBrowserTesting, visit our help page: Headless Testing Documentation
Does Selenium support headless browser testing? - Tutorialspoint

Does Selenium support headless browser testing? – Tutorialspoint

Yes, Selenium supports headless browser testing. This can be done with the help of the HTMLUnitDriver. It is the fastest webdriver among other browser drivers and is platform Selenium 2. 53 version, HTMLUnitDriver jar has to be added explicitly within the project. To add the dependency, follow the steps as listed below −Navigate to the link − on the link highlighted in the below on the project and choose Build path. Then click on Configure Build to Java Build Path, then select Libraries. Click on Add External JARs. Then browse and add the HTMLUnitDriver have to add to the project. ExampleCode;
public class HeadlessMode{
public static void main(String[] args) {
//HtmlUnitDriver initialization
HtmlUnitDriver driver = new HtmlUnitDriver();
// wait of 5 seconds
(). timeouts(). implicitlyWait(5, CONDS);
(“Page title: ” + tTitle());}}OutputAlso, there will be no browser displayed as execution goes on.
Published on 28-Dec-2020 13:03:04
Related Questions & AnswersDoes Selenium support Safari browser?
Selenium testing without browser.
Browser Plugin Testing With Selenium.
Does cypress support api automation testing also?
Selenium and Headless Environment.
Python class browser support
How does selenium interact with the Web browser?
browser support with HTML
Downloading with chrome headless and selenium.
Does Selenium RC has separate drivers for each browser?
How does selenium webdriver upload files to the browser?
Does Python support polymorphism?
How to connect to Chromium Headless using Selenium?
Does MySQL support table inheritance?
Does Python support multiple inheritance?

Frequently Asked Questions about best headless browser selenium

Can Selenium work headless?

Headless testing is simply running your Selenium tests using a headless browser. It operates as your typical browser would, but without a user interface, making it excellent for automated testing.Oct 8, 2019

Does Selenium support headless browser testing?

Yes, Selenium supports headless browser testing. This can be done with the help of the HTMLUnitDriver. It is the fastest webdriver among other browser drivers and is platform independent.Dec 28, 2020

What are the best headless browsers for testing?

6 Popular Headless Browsers for Web TestingFirefox headless mode.Headless Chrome.PhantomJS.Zombie.js.HtmlUnit.Splash.Feb 22, 2018

Leave a Reply

Your email address will not be published. Required fields are marked *