关闭窗口
WebDriver API 中的 Close Window(关闭窗口) 命令会关闭当前的顶级浏览上下文(窗口或标签页),并返回当前打开的 WebWindow
列表。如果关闭的是最后一个窗口,WebDriver 会话将被隐式删除。会话结束后,后续命令将导致无效会话 ID 错误。
语法
方法 | URI 模板 |
---|---|
DELETE |
/session/{session id}/window |
URL 参数
session id
-
会话的标识符。
错误
- 无效的会话 ID
-
会话不存在。
- 意外的 alert 打开
-
用户提示(如
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#
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
}
}
}
规范
规范 |
---|
WebDriver # close-window |
浏览器兼容性
加载中…