天天看點

selenium之 關閉視窗close與quit

更多關于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}']