selenium處理彈出窗口


在selenium ui自動化測試過程中,經常會遇到,彈出新窗口,那么會對我們元素定位造成哪些影響呢?

1.元素id或xpath;name都沒有問題,就是定位不到。

 

那如何解決呢?沒錯webdriver本身提供了一個switch_to功能。

我們先切換到新窗口;所謂的切換,是將彈出的窗口,聚丙,切換到當前聚丙。

 

代碼示例:

    @property
    def switch_window(self):
        """
        切換window窗口,切換一次后退出
        :return: 無
        """
        curHandle = self.driver.current_window_handle #獲取當前窗口聚丙
        allHandle = self.driver.window_handles #獲取所有聚丙
    
     
"""循環判斷,只要不是當前窗口聚丙,那么一定就是新彈出來的窗口,這個很好理解。"""
for h in allHandle: if h != curHandle: self.driver.switch_to.window(h) #切換聚丙,到新彈出的窗口 break

 

完成如上切換,那么你再定位,新窗口上的元素,相信,沒有問題了。

 

 期待你的加入;共同學習,一起進步:
python|測試|技術交流 qq群:563227894
python|測試|技術交流 qq群:563227894
python|測試|技術交流 qq群:563227894


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM