Get Window Handles
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  # dfn-get-window-handles  | 
Browser compatibility
BCD tables only load in the browser
See also
- Switch To Window command
 - Get Window Handle command
 - Close Window command