关闭窗口
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 表格仅在浏览器中加载