selenium webdriver (5)--窗口切換

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》

相關文章
相關標籤/搜索