selenium 提供了切換窗口以及瀏覽器的一些操做,方便用戶對窗口的操控python
瀏覽器:web
driver.back() 回退 driver.forward() 前進 driver.refresh() 刷新 driver.close() 關閉一個窗口 driver.quit() 關閉全部窗口
窗口的句柄瀏覽器
driver.current_window_handle 獲取窗口當前句柄 driver.window_handles 獲取當前全部窗口的句柄 driver.switch_to_window(handle) 切換到句柄爲handle的窗口
窗口切換函數函數
switch_window兩窗口之間切換,須要記錄now這個句柄,以方便切換,適用於兩個窗口測試
def switch_window(driver, now): all_handles = driver.window_handles #獲得當前開啓的全部窗口的句柄 for handle in all_handles: if handle != now: #獲取到與當前窗口不同的窗口 driver.switch_to_window(handle) #切換
switch_window_by_title經過窗口的title進行切換,切換到爲該title的窗口,適用於多窗口ui
def switch_window(self,windowname): all_handles = self.driver.window_handles for handle in all_handles: driver.switch_to.window(handle) #切換到該句柄 if driver.title == windowname: #若是該窗口的title是windowname driver.switch_to.window(handle) #切換 break #跳出循環,若是不是windowname,則繼續循環
browser.pycode
#coding:utf-8 #!/usr/bin/env python from selenium import webdriver from time import sleep driver = webdriver.Firefox() driver.get("http://www.baidu.com") driver.find_element_by_id("kw").send_keys("hello") driver.find_element_by_id("su").click() sleep(3) driver.refresh() sleep(5) driver.back() sleep(5) driver.forward() sleep(5) driver.close()
該程序實現從百度搜索"hello",轉到hello頁面,而後再退回到baidu首頁,再前進到hello搜索頁utf-8
參考:element
《Selenium2自動化測試實戰》get
《selenium python buildings release 2》