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

