Get Window Handles

Limited availability

This feature is not Baseline because it does not work in some of the most widely-used browsers.

The Get Window Handles command of the WebDriver API returns a list of all WebWindows. Each tab or window, depending on whether you are using a tabbed browser, is associated by a window handle that is used as a reference when switching to the window.

In order to determine whether or not a particular interaction with the browser opens a new window, one can obtain the set of window handles before the interaction is performed and compare it with the set after the action is performed.

Syntax

Method URI template
GET /session/{session id}/window/handles

URL parameters

session id

Identifier of the session.

Errors

Invalid session ID

Session does not exist.

Example

C#:

cpp
using System.Collections.ObjectModel;
using OpenQA.Selenium.Firefox;

namespace MDNWebDriverExamples
{
    class Example
    {
        public static void Main(string[] args)
        {
            FirefoxDriver session = new FirefoxDriver();

            session.ExecuteScript("window.open()");

            ReadOnlyCollection<string> currentWindowHandles = session.WindowHandles;
        }
    }
}

Specifications

Specification
WebDriver
# get-window-handles

Browser compatibility

BCD tables only load in the browser

See also