python3 selenium 切換窗口的幾種方法


第一種方法:
使用場景:

打開多個窗口,需要定位到新打開的窗口

使用方法:

# 獲取打開的多個窗口句柄
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、第二種方法是大家最常用的方法,比較容易理解

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM