selenium关闭窗口有两个方法,close与quit,我们稍作研究便知道这两个方法的区别。
1.看源码或API
这是close()的说明:
Closes the current window.
关闭当前窗口。
这是quit()的说明:
Quits the driver and closes every associated window.
退出驱动并关闭所有关联的窗口。
从这里就很明显的看出来这两个方法的区别,一个关闭当前窗口,一个关闭所有窗口,下面写一小段代码测试一下。
2.代码试验
代码:
1 # -*- coding: utf-8 -*-
2 from selenium import webdriver
3 from time import sleep
4
5 driver = webdriver.Firefox()
6 driver.get('http://sahitest.com/demo/index.htm')
7 print driver.current_window_handle # 查看当前window handle
8
9 driver.find_element_by_link_text('Window Open Test').click() # 打开新window1
10 driver.find_element_by_link_text('Window Open Test With Title').click() # 打开新window2
11 print driver.window_handles # 查看所有window handles
12
13 driver.close()
14 print driver.window_handles # 查看现在的所有window handles,可看到只是关闭了最开始的一个window,其他两个window还在
15
16 driver.quit() # 看到所有window都被关闭
View Code
结果:
{b030dd54-3cbd-4d7b-800a-2ff296f03f5b}
[u'{b030dd54-3cbd-4d7b-800a-2ff296f03f5b}', u'{7fdacf2e-0c34-4f0d-9a7a-ae34f3af932c}', u'{f2d79121-8cc2-47ea-bd7d-2035e305ba2f}']
[u'{7fdacf2e-0c34-4f0d-9a7a-ae34f3af932c}', u'{f2d79121-8cc2-47ea-bd7d-2035e305ba2f}']