Python UI自動(dòng)化測(cè)試Web frame及多窗口切換
一、什么是frame&frame切換?
frame:HTML頁(yè)面中的一種框架,主要作用是在當(dāng)前頁(yè)面中指定區(qū)域顯示另一頁(yè)面元素;
frame切換:通俗的講當(dāng)你進(jìn)入房子里面,而里面又有一個(gè)小房間的話,你不知道小房間在哪,那就是進(jìn)不去,而frame切換就是進(jìn)入這個(gè)小房間的方式!
這也是為什么要用frame切換的原因!
二、frame切換的方法
解釋:在Selenium中封裝了如何切換frame框架的方法 方法:
1). driver.switch_to.frame(frame_reference) #切換到指定frame的方法frame_reference:可以為frame框架的name、id或者定位到的frame元素 2). driver.switch_to.default_content() #恢復(fù)默認(rèn)頁(yè)面方法
這里要注意:在frame中操作其他頁(yè)面,必須先回到默認(rèn)頁(yè)面,才能進(jìn)一步操作
三、什么是多窗口&多窗口切換
解釋:在HTML頁(yè)面中,當(dāng)點(diǎn)擊超鏈接或者按鈕時(shí),有的會(huì)在新的窗口打開(kāi)頁(yè)面,這個(gè)窗口就被稱為多窗口。
這個(gè)可以向上面那個(gè)一樣理解,但是這是一棟房子進(jìn)入另外一棟房子的區(qū)別!
四、如何實(shí)現(xiàn)多窗口切換?
解釋:在Selenium中封裝了獲取當(dāng)前窗口句柄、獲取所有窗口句柄和切換到指定句柄窗口的方法;
句柄:英文handle,窗口的唯一識(shí)別碼
1). driver.current_window_handle #獲取當(dāng)前窗口句柄 2). driver.window_handles # 獲取所有窗口句柄 3). driver.switch_to.window(handle) #切換指定句柄窗口
窗口代碼實(shí)現(xiàn)片段:
# 獲取當(dāng)前窗口句柄信息 print(driver.current_window_handle) # 獲取所有窗口句柄 windows = driver.window_handles # 切換窗口句柄 driver.switch_to.window(windows[-1])
拓展:frame形式介紹
形式一:
<frameset cols="25%,75%"> <frame src="frame_a.htm"> <frame src="frame_b.htm"> </frameset>
形式二:
<iframe name="iframe_a" src="demo_iframe.htm" width="200" height="200"></iframe>
以上就是Python UI自動(dòng)化測(cè)試Web frame及多窗口切換的詳細(xì)內(nèi)容,更多關(guān)于Python UI多窗口切換的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!
- python自動(dòng)化測(cè)試工具Helium使用示例
- Python?pytest自動(dòng)化測(cè)試庫(kù)十個(gè)強(qiáng)大用法示例
- python自動(dòng)化測(cè)試Data?Driven?Testing(DDT)用例解析
- python自動(dòng)化測(cè)試中APScheduler?Flask的應(yīng)用示例
- python自動(dòng)化測(cè)試用例全對(duì)偶組合與全覆蓋組合比較
- python自動(dòng)化測(cè)試通過(guò)日志3分鐘定位bug
- python自動(dòng)化測(cè)試selenium屏幕截圖示例
- python自動(dòng)化測(cè)試selenium定位frame及iframe示例
- python?Helium自動(dòng)化庫(kù)的功能特性探索
相關(guān)文章
numpy展平數(shù)組ndarray.flatten()詳解
這篇文章主要介紹了numpy展平數(shù)組ndarray.flatten()詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06用Python實(shí)現(xiàn)一本個(gè)性化日歷
大家好,本篇文章主要講的是用Python實(shí)現(xiàn)一本個(gè)性化日歷,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2022-02-02Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略
Python擁有內(nèi)置的socket模塊,可以用簡(jiǎn)潔明了的代碼來(lái)進(jìn)行socket通信操作,這里我們就為大家整理了一份Python中基礎(chǔ)的socket編程實(shí)戰(zhàn)攻略,需要的朋友可以參考下.2016-06-06pytorch中Tensor.to(device)和model.to(device)的區(qū)別及說(shuō)明
這篇文章主要介紹了pytorch中Tensor.to(device)和model.to(device)的區(qū)別及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07linux環(huán)境下安裝pyramid和新建項(xiàng)目的步驟
這篇文章簡(jiǎn)單介紹了linux環(huán)境下安裝pyramid和新建項(xiàng)目的步驟,大家參考使用2013-11-11Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程
這篇文章主要介紹了Python面向?qū)ο缶幊讨械念惡蛯?duì)象學(xué)習(xí)教程,面向?qū)ο笫荘ython的基礎(chǔ)特性,其中的類與對(duì)象的特性和使用方法是Python學(xué)習(xí)當(dāng)中的基本功,需要的朋友可以參考下2015-03-03Python實(shí)現(xiàn)決策樹(shù)C4.5算法的示例
本篇文章主要介紹了Python實(shí)現(xiàn)決策樹(shù)C4.5算法的示例,詳解的介紹了決策樹(shù)C4.5算法的原理和實(shí)現(xiàn)代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2018-05-05python報(bào)錯(cuò)TypeError: Input z must be
大家好,本篇文章主要講的是python報(bào)錯(cuò)TypeError: Input z must be 2D, not 3D的解決方法,感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話記得收藏一下2021-12-12python利用urllib和urllib2訪問(wèn)http的GET/POST詳解
urllib模塊提供的上層接口,使我們可以像讀取本地文件一樣讀取www和ftp上的數(shù)據(jù)。下面這篇文章主要給大家介紹了關(guān)于python如何利用urllib和urllib2訪問(wèn)http的GET/POST的相關(guān)資料,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-09-09