python3 selenium 切換窗口的幾種方法小結(jié)
第一種方法:
使用場景:
打開多個窗口,需要定位到新打開的窗口
使用方法:
# 獲取打開的多個窗口句柄 windows = driver.window_handles # 切換到當(dāng)前最新打開的窗口 driver.switch_to.window(windows[-1])
舉例說明:
# _._ coding:utf-8 _._
"""
:author: 花花測試
:time: 2017.05.03
:content: 使用第一種方法切換瀏覽器
"""
from selenium import webdriver
import time
# 打開課工場網(wǎng)站主頁【第一個窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()
# 點(diǎn)擊全部課程,進(jìn)入課程庫【第二個窗口】
driver.find_element_by_link_text('全部課程').click()
time.sleep(3)
# 使用第一種方法切換瀏覽器【切換到第二個窗口】
windows = driver.window_handles
driver.switch_to.window(windows[-1])
time.sleep(3)
# 點(diǎn)擊課程庫中的某個課程,進(jìn)入課程詳情界面【在第二個窗口頁面進(jìn)行元素點(diǎn)擊操作,來判斷窗口是否切換成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 關(guān)閉瀏覽器
driver.quit()
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)
舉例說明:
# _._ coding:utf-8 _._
"""
:author: 花花測試
:time: 2017.05.03
:content: 使用第二種方法切換瀏覽器
"""
from selenium import webdriver
import time
from selenium import webdriver
import time
# 打開課工場網(wǎng)站主頁【第一個窗口】
driver = webdriver.Chrome()
driver.get('http://www.kgc.cn/')
driver.maximize_window()
# 點(diǎn)擊全部課程,進(jìn)入課程庫【第二個窗口】
driver.find_element_by_link_text('全部課程').click()
time.sleep(3)
# 使用第二種方法切換瀏覽器【切換到第二個窗口】
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)
time.sleep(3)
# 點(diǎn)擊課程庫中的某個課程,進(jìn)入課程詳情界面【在第二個窗口頁面進(jìn)行元素點(diǎn)擊操作,來判斷窗口是否切換成功】
driver.find_element_by_xpath('//*[@id="yw1"]/ul/li[2]').click()
time.sleep(3)
# 關(guān)閉瀏覽器
driver.quit()
print('測試通過')
兩種方法的區(qū)別:
1、第一種方法比較簡單,能提升整體代碼的性能
2、第二種方法是大家最常用的方法,比較容易理解
以上這篇python3 selenium 切換窗口的幾種方法小結(jié)就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例
這篇文章主要介紹了ITK 實(shí)現(xiàn)多張圖像轉(zhuǎn)成單個nii.gz或mha文件案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-07-07
Python中通過@classmethod 實(shí)現(xiàn)多態(tài)的示例
這篇文章主要介紹了Python中通過@classmethod 實(shí)現(xiàn)多態(tài),python中通常使用對象創(chuàng)建多態(tài)模式,python還支持類創(chuàng)建多態(tài)模式,下面通過一個例子展示它如何實(shí)現(xiàn)多態(tài),需要的朋友可以參考下2022-11-11
OpenCV-Python實(shí)現(xiàn)圖像梯度與Sobel濾波器
在實(shí)際應(yīng)用中我們只需要將圖像矩陣與Sobel濾波器卷積就可以得到圖像的梯度矩陣了。具有一定的參考價值,感興趣的小伙伴們可以參考一下2021-06-06
PyTorch中的Subset類簡介與應(yīng)用示例代碼
在深度學(xué)習(xí)框架PyTorch中,torch.utils.data.Subset是一個非常有用的類,用于從一個較大的數(shù)據(jù)集中選擇一個子集,本文將介紹Subset的概念、基本用法以及一些實(shí)際應(yīng)用示例,感興趣的朋友一起看看吧2024-08-08
用Python程序抓取網(wǎng)頁的HTML信息的一個小實(shí)例
這篇文章主要介紹了用Python程序抓取網(wǎng)頁的HTML信息的一個小實(shí)例,用到的方法同時也是用Python編寫爬蟲的基礎(chǔ),需要的朋友可以參考下2015-05-05
Python實(shí)現(xiàn)字符串匹配的KMP算法
KMP算法的關(guān)鍵是利用匹配失敗后的信息,盡量減少模式串與主串的匹配次數(shù)以達(dá)到快速匹配的目的。這篇文章主要介紹了Python實(shí)現(xiàn)字符串匹配的KMP算法,需要的朋友可以參考下2019-04-04

