Quick Start of running Selenium WebDriver against PhantomJS in Java on Windows (with Maven)


23. November 2013 by Michael Wowro

This is the quickstart with Maven. For a quickstart without Maven, look here

The browser with the probably highest speed and lowest memory consumption in Selenium world: the headless PhantomJS

[Update 26.11.2013]: Ghostdriver is not ripe yet due to lack of enough stable maintainers: https://github.com/detro/ghostdriver/issues/140

[Note]: The development of Selenium and GhostDriver (which is the bridge between PhantomJS and Selenium) isn’t synchronized yet. So maybe the most actual versions of Selenium Server and GhostDriver may not work together. A combination that fits:

* PhantomJS 1.9.2
* GhostDriver 1.0.4
* Selenium 2.34

Setup is really quick

1.) Download phantomjs-1.9.2-windows.zip here and extract it to C:\Program Files (x86)
2.) Add C:\Program Files (x86)\phantomjs-1.9.2-windows to the PATH-variable
3.) Add in pom.xml


4.) Maybe change the version of selenium in pom.xml


Sample Code

import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.phantomjs.PhantomJSDriver;

public class Example {

    public static void main(String[] args) {
        WebDriver driver = new PhantomJSDriver();

        WebElement element = driver.findElement(By.name("q"));

        System.out.println("Page title is: " + driver.getTitle());

Looks so good

… if you’ve done right – your result should look like that:

Speedy Testing!


6 thoughts on “Quick Start of running Selenium WebDriver against PhantomJS in Java on Windows (with Maven)

  1. shaibal says:

    well pom.xml will only work if i have maven in the project as without maven it will not get the dependencies during runtime.please suggest if i donot have maven in my project then how to introduce ghostdriver in it ?

  2. Manali says:

    Hi, If possible please cover uploading files using PhantomJSDriver.

  3. sr says:


    I tried the above code , but i get this error.

    Exception in thread “main” java.lang.IllegalStateException: The path to the driv
    er executable must be set by the phantomjs.binary.path capability/system propert
    y/PATH variable; for more information, see https://github.com/ariya/phantomjs/wi
    ki. The latest version can be downloaded from http://phantomjs.org/download.html

    at com.google.common.base.Preconditions.checkState(Preconditions.java:17
    at org.openqa.selenium.phantomjs.PhantomJSDriverService.findPhantomJS(Ph
    at org.openqa.selenium.phantomjs.PhantomJSDriverService.createDefaultSer
    at org.openqa.selenium.phantomjs.PhantomJSDriver.(PhantomJSDriver.
    at org.openqa.selenium.phantomjs.PhantomJSDriver.(PhantomJSDriver.
    at Example.main(Example.java:7)

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: