更多關于python selenium的文章,請關注我的專欄:Python Selenium自動化測試詳解
selenium關閉視窗有兩個方法,close與quit,我們稍作研究便知道這兩個方法的差別。
1.看源碼或API
這是close()的說明:
Closes the current window.
關閉目前視窗。
這是quit()的說明:
Quits the driver and closes every associated window.
退出驅動并關閉所有關聯的視窗。
從這裡就很明顯的看出來這兩個方法的差別,一個關閉目前視窗,一個關閉所有視窗,下面寫一小段代碼測試一下。
2.代碼試驗
代碼:
# -*- coding: utf-8 -*-
from selenium import webdriver
from time import sleep
driver = webdriver.Firefox()
driver.get('http://sahitest.com/demo/index.htm')
print driver.current_window_handle # 檢視目前window handle
driver.find_element_by_link_text('Window Open Test').click() # 打開新window1
driver.find_element_by_link_text('Window Open Test With Title').click() # 打開新window2
print driver.window_handles # 檢視所有window handles
driver.close()
print driver.window_handles # 檢視現在的所有window handles,可看到隻是關閉了最開始的一個window,其他兩個window還在
driver.quit() # 看到所有window都被關閉
結果:
{b030dd54-cbd-d7b-a-ff296f03f5b}
[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}']