第一種方法:
使用場(chǎng)景:
打開(kāi)多個(gè)窗口,需要定位到新打開(kāi)的窗口
使用方法:
# 獲取打開(kāi)的多個(gè)窗口句柄windows = driver.window_handles# 切換到當(dāng)前最新打開(kāi)的窗口driver.switch_to.window(windows[-1])
舉例說(shuō)明:
# _._ coding:utf-8 _._""":author: 花花測(cè)試:time: 2017.05.03:content: 使用第一種方法切換瀏覽器"""from selenium import webdriverimport time# 打開(kāi)課工場(chǎng)網(wǎng)站主頁(yè)【第一個(gè)窗口】driver = webdriver.Chrome()driver.get('http://www.kgc.cn/')driver.maximize_window()# 點(diǎn)擊全部課程,進(jìn)入課程庫(kù)【第二個(gè)窗口】driver.find_element_by_link_text('全部課程').click()time.sleep(3)# 使用第一種方法切換瀏覽器【切換到第二個(gè)窗口】windows = driver.window_handlesdriver.switch_to.window(windows[-1])time.sleep(3)# 點(diǎn)擊課程庫(kù)中的某個(gè)課程,進(jìn)入課程詳情界面【在第二個(gè)窗口頁(yè)面進(jìn)行元素點(diǎn)擊操作,來(lái)判斷窗口是否切換成功】driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()time.sleep(3)# 關(guān)閉瀏覽器driver.quit()print('測(cè)試通過(guò)')第二種方法:
使用場(chǎng)景:
打開(kāi)兩個(gè)窗口,需要定位到新打開(kāi)的窗口
使用方法:
# 獲得打開(kāi)的第一個(gè)窗口句柄window_1 = driver.current_window_handle# 獲得打開(kāi)的所有的窗口句柄windows = driver.window_handles# 切換到最新的窗口for current_window in windows: if current_window != window_1: driver.switch_to.window(current_window)
舉例說(shuō)明:
# _._ coding:utf-8 _._""":author: 花花測(cè)試:time: 2017.05.03:content: 使用第二種方法切換瀏覽器"""from selenium import webdriverimport timefrom selenium import webdriverimport time# 打開(kāi)課工場(chǎng)網(wǎng)站主頁(yè)【第一個(gè)窗口】driver = webdriver.Chrome()driver.get('http://www.kgc.cn/')driver.maximize_window()# 點(diǎn)擊全部課程,進(jìn)入課程庫(kù)【第二個(gè)窗口】driver.find_element_by_link_text('全部課程').click()time.sleep(3)# 使用第二種方法切換瀏覽器【切換到第二個(gè)窗口】window_1 = driver.current_window_handlewindows = driver.window_handlesfor current_window in windows: if current_window != window_1: driver.switch_to.window(current_window)time.sleep(3)# 點(diǎn)擊課程庫(kù)中的某個(gè)課程,進(jìn)入課程詳情界面【在第二個(gè)窗口頁(yè)面進(jìn)行元素點(diǎn)擊操作,來(lái)判斷窗口是否切換成功】driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()time.sleep(3)# 關(guān)閉瀏覽器driver.quit()print('測(cè)試通過(guò)')兩種方法的區(qū)別:
1、第一種方法比較簡(jiǎn)單,能提升整體代碼的性能
2、第二種方法是大家最常用的方法,比較容易理解
以上這篇python3 selenium 切換窗口的幾種方法小結(jié)就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持武林站長(zhǎng)站。
新聞熱點(diǎn)
疑難解答
圖片精選