Close Window

Limited availability

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

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:

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#:

cs
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
WebDriver
# close-window

Browser compatibility

desktop mobile
Chrome
Edge
Firefox
Opera
Safari
Chrome Android
Firefox for Android
Opera Android
Safari on iOS
Samsung Internet
WebView Android
WebView on iOS
CloseWindow
Chrome – Full support
Chrome 65 (Release date: 2018-03-06)
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities. This is only partially supported.
Edge – Full support
Edge 79 (Release date: 2020-01-15)
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities. This is only partially supported.
Firefox – Full support
Firefox 55 (Release date: 2017-08-08)
footnote Full support
Opera – No support
Opera
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities.
Safari – No support
Safari
footnote
footnote The vendor-supported implementation for Safari is non spec-conforming and incompatible.
Chrome Android – No support
Chrome Android
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities.
Firefox for Android – No support
Firefox for Android
footnote No support
Opera Android – No support
Opera Android
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities.
Safari on iOS – No support
Safari on iOS
footnote
footnote The vendor-supported implementation for Safari on iOS is non spec-conforming and incompatible.
Samsung Internet – No support
Samsung Internet
footnote
footnote The vendor-supported implementation for Samsung Internet is non-spec-conforming and incompatible.
WebView Android – No support
WebView Android
footnote
footnote To enable Chromium support, include {"goog:chromeOptions": {"w3c": true}} in the capabilities.
WebView on iOS – No support
WebView on iOS
footnote
footnote The vendor-supported implementation for WebView on iOS is non spec-conforming and incompatible.

Legend

Tip: you can click/tap on a cell for more information.

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

See also