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都被關閉
結果:
{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}']
參考: