Selenium自動(dòng)化測(cè)試實(shí)現(xiàn)窗口切換
在Web自動(dòng)化測(cè)試過程中,有時(shí)單擊某個(gè)鏈接會(huì)彈出新的窗口,這時(shí)就需要切換到新打開的窗口中進(jìn)行操作。WebDriver 提供的switch_to.window()方法可以實(shí)現(xiàn)在不同的窗口之間進(jìn)行切換。
主要用到的相關(guān)方法:
- current_window_handle:獲得當(dāng)前窗口句柄。
- window_handles:返回所有窗口的句柄到當(dāng)前會(huì)話。
- switch_to.window():切換到相應(yīng)的窗口
下面以百度首頁(yè)和賬號(hào)注冊(cè)頁(yè)為例,演示在兩個(gè)窗口之間的切換
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get("https://www.baidu.com")
search_windows = driver.current_window_handle
driver.find_element(By.LINK_TEXT,'登錄').click()
driver.find_element(By.LINK_TEXT,'立即注冊(cè)').click()
all_handles = driver.window_handles
for handle in all_handles:
? ? if handle != search_windows:
? ? ? ? driver.switch_to.window(handle)
? ? ? ? print(driver.title)
? ? ? ? driver.find_element(By.NAME,'userName').send_keys('userName')
? ? ? ? driver.find_element(By.NAME,'phone').send_keys('138xxxxxxx')
? ? ? ? time.sleep(2)
? ? ? ? driver.close()
driver.switch_to.window(search_windows)
print(driver.title)
driver.quit()解析:程序開始后,首先打開百度首頁(yè),然后通過current_window_handle獲取了當(dāng)前窗口句柄,接著打開登錄彈窗,點(diǎn)擊注冊(cè)按鈕從而打開新窗口;再通過window_handles 獲得當(dāng)前所有窗口句柄,接著遍歷所有窗口句柄,如果不等于百度首頁(yè)的窗口句柄,那就是注冊(cè)頁(yè)的窗口句柄,因?yàn)橹淮蜷_了兩個(gè)窗口,然后再通過switch_to.window()切換到注冊(cè)頁(yè)窗口。
到此這篇關(guān)于Selenium自動(dòng)化測(cè)試實(shí)現(xiàn)窗口切換的文章就介紹到這了,更多相關(guān)Selenium 窗口切換內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python+Opencv實(shí)現(xiàn)表格邊框線檢測(cè)
Python數(shù)據(jù)開發(fā)工作時(shí)偶爾會(huì)要求對(duì)圖片做邊框線檢查和圖片中的直線,本文為大家整理了相關(guān)的實(shí)現(xiàn)方法,非常實(shí)用,建議有需要的小伙伴收藏一下2023-05-05
Python庫(kù)?Bokeh?數(shù)據(jù)可視化實(shí)用指南
大家好,今天跟大家分享的是交互式可視化神器?Python?Bokeh?的詳細(xì)使用教程,Bokeh是一個(gè)面向現(xiàn)代web瀏覽器的交互式可視化庫(kù)。它提供了多功能圖形的優(yōu)雅、簡(jiǎn)潔的構(gòu)造,并在大型數(shù)據(jù)集或流式數(shù)據(jù)集上提供了高性能的交互性,接下來讓我們?cè)敿?xì)看看吧2021-11-11
使用python 寫一個(gè)靜態(tài)服務(wù)(實(shí)戰(zhàn))
今天小編就為大家分享一篇使用python 寫一個(gè)靜態(tài)服務(wù)(實(shí)戰(zhàn)),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-06-06
Pandas多級(jí)索引的實(shí)現(xiàn)示例
Pandas 中的多級(jí)索引是一種強(qiáng)大的工具,用于處理具有多個(gè)維度或?qū)哟蔚臄?shù)據(jù),本文主要介紹了Pandas多級(jí)索引的實(shí)現(xiàn)示例,具有一定的參考價(jià)值,感興趣的可以了解一下2024-01-01
python實(shí)現(xiàn)優(yōu)雅的打印json格式文本
這篇文章主要介紹了python實(shí)現(xiàn)優(yōu)雅的打印json格式文本方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-08-08

