关闭窗口

WebDriver API 的关闭窗口命令关闭当前顶级浏览上下文(窗口或选项卡)并返回当前打开的WebWindow列表。如果它是最后一个被关闭的窗口,则 WebDriver 会话将隐式删除。因此,会话结束后的后续命令将导致无效会话 ID错误。

语法

方法 URI 模板
DELETE /session/{session id}/window

URL 参数

会话 ID

会话的标识符。

错误

无效会话 ID

会话不存在。

意外的警告打开

用户提示(例如window.alert)阻止命令执行,直到处理为止。

示例

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#

cpp
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
        }
    }
}

规范

规范
WebDriver
# close-window

浏览器兼容性

BCD 表格仅在浏览器中加载

另请参阅