您好,登錄后才能下訂單哦!
這篇文章主要介紹“怎么使用Selenium自動化測試實現窗口切換”,在日常操作中,相信很多人在怎么使用Selenium自動化測試實現窗口切換問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”怎么使用Selenium自動化測試實現窗口切換”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在Web自動化測試過程中,有時單擊某個鏈接會彈出新的窗口,這時就需要切換到新打開的窗口中進行操作。WebDriver 提供的switch_to.window()方法可以實現在不同的窗口之間進行切換。
主要用到的相關方法:
current_window_handle:獲得當前窗口句柄。
window_handles:返回所有窗口的句柄到當前會話。
switch_to.window():切換到相應的窗口
下面以百度首頁和賬號注冊頁為例,演示在兩個窗口之間的切換
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獲取了當前窗口句柄,接著打開登錄彈窗,點擊注冊按鈕從而打開新窗口;再通過window_handles 獲得當前所有窗口句柄,接著遍歷所有窗口句柄,如果不等于百度首頁的窗口句柄,那就是注冊頁的窗口句柄,因為只打開了兩個窗口,然后再通過switch_to.window()切換到注冊頁窗口。
到此,關于“怎么使用Selenium自動化測試實現窗口切換”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。