There are two options to interact with browser’s local storage:

  • via javascript by creating your own methods
  • via Selenium WebDriver (starting with version 2.42) if the driver supports it

Let’s have a look of how can we use these two options in our Selenium WebDriver tests:

1. Let’s create a LocalStorage class with methods for each action we need for interaction with the browser’s Local Storage:

import org.openqa.selenium.JavascriptExecutor;
import org.openqa.selenium.WebDriver;

public class LocalStorageJS {

    private JavascriptExecutor js;

    public LocalStorageJS(WebDriver webDriver) {
        this.js = (JavascriptExecutor) webDriver;

    public void removeItemFromLocalStorage(String item) {
        js.executeScript(String.format("window.localStorage.removeItem('%s');", item));

    public boolean isItemPresentInLocalStorage(String item) {
        return !(js.executeScript(String.format("return window.localStorage.getItem('%s');", item)) == null);

    public String getItemFromLocalStorage(String key) {
        return (String) js.executeScript(String.format("return window.localStorage.getItem('%s');", key));

    public String getKeyFromLocalStorage(int key) {
        return (String) js.executeScript(String.format("return window.localStorage.key('%s');", key));

    public Long getLocalStorageLength() {
        return (Long) js.executeScript("return window.localStorage.length;");

    public void setItemInLocalStorage(String item, String value) {
        js.executeScript(String.format("window.localStorage.setItem('%s','%s');", item, value));

    public void clearLocalStorage() {

2. Using the Selenium WebDriver built in functionality present in the HTML5 package

Clearing LocalStorage:

LocalStorage local = ((WebStorage) driver).getLocalStorage();

Setting an item in LocalStorage:

local.setItem("FOO", "BAR");

Getting an item from LocalStorage:


Here you can find more details about locating elements with Selenium WebDriver.

How fast is your website? Free Website Speed Test