Close Window

The Close Window command of the WebDriver API closes the current top-level browsing context (window or tab) and returns with the list of currently open WebWindows. If it is the last window that is being closed, the WebDriver session will implicitly be deleted. Subsequent commands after the session is ended will therefore cause invalid session ID errors.

Syntax

Method URI template
DELETE /session/{session id}/window

URL parameters

session id
Identifier of the session.

Errors

Invalid session ID
Session does not exist.
Unexpected alert open
A user prompt, such as window.alert, blocks execution of command until it is dealt with.

Example

Python:

from selenium import webdriver

session = webdriver.Firefox()
original_window = session.window_handle

new_window = session.execute_script("return window.open()")
session.switch_to.window(new_window)

session.close()
session.switch_to.window(original_window)

C#:

using OpenQA.Selenium.Firefox;

namespace MDNWebDriverExamples
{
    class Example
    {
        public static void Main(string[] args)
        {
            FirefoxDriver session = new FirefoxDriver();
            string original_window = session.CurrentWindowHandle;// Optional if you want to store the handle in a variable

            session.ExecuteScript("window.open()");
            session.SwitchTo().Window(session.WindowHandles[1]); // Switch to the second window

            session.Close(); // Close current window 
            session.SwitchTo().Window(session.WindowHandles[0]); // Switch back to the first window
        }
    }
}

 

 

 

Specifications

Specification Status Comment
WebDriver
The definition of 'Close_Window' in that specification.
Recommendation Initial definition

Browser compatibility

Update compatibility data on GitHub
DesktopMobile
ChromeEdgeFirefoxInternet ExplorerOperaSafariAndroid webviewChrome for AndroidEdge MobileFirefox for AndroidOpera for AndroidiOS SafariSamsung Internet
Basic supportChrome No support No
Notes
No support No
Notes
Notes To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabiliites when running the command.
Edge No support No
Notes
No support No
Notes
Notes The vendor-supported implementation for Edge is non-spec-conforming and incompatible.
Firefox Full support 55IE Full support 7Opera No support No
Notes
No support No
Notes
Notes To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabiliites when running the command.
Safari No support No
Notes
No support No
Notes
Notes The vendor-supported implementation for Safari is non spec-conforming and incompatible.
WebView Android No support No
Notes
No support No
Notes
Notes To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabiliites when running the command.
Chrome Android No support No
Notes
No support No
Notes
Notes To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabiliites when running the command.
Edge Mobile No support No
Notes
No support No
Notes
Notes The vendor-supported implementation for Edge is non-spec-conforming and incompatible.
Firefox Android No support NoOpera Android No support No
Notes
No support No
Notes
Notes To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabiliites when running the command.
Safari iOS No support No
Notes
No support No
Notes
Notes The vendor-supported implementation for Safari is non spec-conforming and incompatible.
Samsung Internet Android No support No
Notes
No support No
Notes
Notes The vendor-supported implementation for Samsung Internet is non-spec-conforming and incompatible.

Legend

Full support  
Full support
No support  
No support
See implementation notes.
See implementation notes.

See also

Document Tags and Contributors

Contributors to this page: MichaelTimbes, fscholz, ato
Last updated by: MichaelTimbes,