selenium 切換窗口的幾種方法
阿新 • • 發佈:2018-10-09
lin 使用場景 get 舉例 第一個 content ive 性能 整體
第一種方法:
使用場景:
打開多個窗口,需要定位到新打開的窗口
使用方法:
# 獲取打開的多個窗口句柄 windows = driver.window_handles # 切換到當前最新打開的窗口 driver.switch_to.window(windows[-1])
舉例說明:
1 # _._ coding:utf-8 _._ 2 3 """ 4 :author: 花花測試 5 :time: 2017.05.03 6 :content: 使用第一種方法切換瀏覽器 7 """ 8 9 from selenium import webdriver 10 import time 11 12 # 打開課工場網站主頁【第一個窗口】 13 driver = webdriver.Chrome() 14 driver.get(‘http://www.kgc.cn/‘) 15 driver.maximize_window() 16 17 # 點擊全部課程,進入課程庫【第二個窗口】 18 driver.find_element_by_link_text(‘全部課程‘).click() 19 time.sleep(3) 20 21 # 使用第一種方法切換瀏覽器【切換到第二個窗口】 22 windows = driver.window_handles 23 driver.switch_to.window(windows[-1]) 24 time.sleep(3) 25 26 # 點擊課程庫中的某個課程,進入課程詳情界面【在第二個窗口頁面進行元素點擊操作,來判斷窗口是否切換成功】 27 driver.find_element_by_xpath(‘//*[@id="yw1"]/ul/li[2]‘).click() 28 time.sleep(3) 29 30 # 關閉瀏覽器 31 driver.quit() 32 print(‘測試通過‘)
第二種方法:
使用場景:
打開兩個窗口,需要定位到新打開的窗口
使用方法:
# 獲得打開的第一個窗口句柄 window_1 = driver.current_window_handle # 獲得打開的所有的窗口句柄 windows = driver.window_handles # 切換到最新的窗口 for current_window in windows: if current_window != window_1: driver.switch_to.window(current_window)
舉例說明:
1 # _._ coding:utf-8 _._ 2 3 """ 4 :author: 花花測試 5 :time: 2017.05.03 6 :content: 使用第二種方法切換瀏覽器 7 """ 8 9 from selenium import webdriver 10 import time 11 12 from selenium import webdriver 13 import time 14 15 # 打開課工場網站主頁【第一個窗口】 16 driver = webdriver.Chrome() 17 driver.get(‘http://www.kgc.cn/‘) 18 driver.maximize_window() 19 20 # 點擊全部課程,進入課程庫【第二個窗口】 21 driver.find_element_by_link_text(‘全部課程‘).click() 22 time.sleep(3) 23 24 # 使用第二種方法切換瀏覽器【切換到第二個窗口】 25 window_1 = driver.current_window_handle 26 windows = driver.window_handles 27 for current_window in windows: 28 if current_window != window_1: 29 driver.switch_to.window(current_window) 30 time.sleep(3) 31 32 # 點擊課程庫中的某個課程,進入課程詳情界面【在第二個窗口頁面進行元素點擊操作,來判斷窗口是否切換成功】 33 driver.find_element_by_xpath(‘//*[@id="yw1"]/ul/li[2]‘).click() 34 time.sleep(3) 35 36 # 關閉瀏覽器 37 driver.quit() 38 print(‘測試通過‘)
兩種方法的區別: 1、第一種方法比較簡單,能提升整體代碼的性能 2、第二種方法是大家最常用的方法,比較容易理解
selenium 切換窗口的幾種方法