Selenium自動化測試實現(xiàn)窗口切換
在Web自動化測試過程中,有時單擊某個鏈接會彈出新的窗口,這時就需要切換到新打開的窗口中進行操作。WebDriver 提供的switch_to.window()方法可以實現(xiàn)在不同的窗口之間進行切換。
主要用到的相關(guān)方法:
- current_window_handle:獲得當(dāng)前窗口句柄。
- window_handles:返回所有窗口的句柄到當(dāng)前會話。
- switch_to.window():切換到相應(yīng)的窗口
下面以百度首頁和賬號注冊頁為例,演示在兩個窗口之間的切換
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,'立即注冊').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()解析:程序開始后,首先打開百度首頁,然后通過current_window_handle獲取了當(dāng)前窗口句柄,接著打開登錄彈窗,點擊注冊按鈕從而打開新窗口;再通過window_handles 獲得當(dāng)前所有窗口句柄,接著遍歷所有窗口句柄,如果不等于百度首頁的窗口句柄,那就是注冊頁的窗口句柄,因為只打開了兩個窗口,然后再通過switch_to.window()切換到注冊頁窗口。
到此這篇關(guān)于Selenium自動化測試實現(xiàn)窗口切換的文章就介紹到這了,更多相關(guān)Selenium 窗口切換內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python庫?Bokeh?數(shù)據(jù)可視化實用指南
大家好,今天跟大家分享的是交互式可視化神器?Python?Bokeh?的詳細使用教程,Bokeh是一個面向現(xiàn)代web瀏覽器的交互式可視化庫。它提供了多功能圖形的優(yōu)雅、簡潔的構(gòu)造,并在大型數(shù)據(jù)集或流式數(shù)據(jù)集上提供了高性能的交互性,接下來讓我們詳細看看吧2021-11-11
使用python 寫一個靜態(tài)服務(wù)(實戰(zhàn))
今天小編就為大家分享一篇使用python 寫一個靜態(tài)服務(wù)(實戰(zhàn)),具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-06-06
python實現(xiàn)優(yōu)雅的打印json格式文本
這篇文章主要介紹了python實現(xiàn)優(yōu)雅的打印json格式文本方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-08-08

