selenium +python 如何得到彈出窗口


捕獲或者說定位 彈出窗口的關鍵在於獲得彈出窗口的句柄。我還是喜歡通過例子來說明:
#-*-coding=utf-8
from selenium import webdriver
import unittest
 
class login(unittest.TestCase):
    def setUp(self):
        self.driver = webdriver.Firefox()
        self.driver.implicitly_wait(30)
        self.base_url = "http://www.baidu.com"
        self.verificationErrors = []
    
    def test_loginpass(self):
        driver = self.driver
        driver.get(self.base_url)
        nowhandle=driver.current_window_handle#在這里得到當前窗口句柄
        driver.find_element_by_id("kw").send_keys("selenium")
        driver.find_element_by_id("su").click()
        driver.find_element_by_xpath("//a[@title='selenium 安裝']").click()
        aalhandles=driver.window_handles#獲取所有窗口句柄
        for handle in aalhandles:#在所有窗口中查找彈出窗口
            if handle!=nowhandle:
                driver.switch_to_window(handle)#這兩步是在彈出窗口中進行的操作,證明我們確實進入了
                driver.find_element_by_link_text("新聞").click()
        driver.switch_to_window(nowhandle)#返回到主窗口頁面
        driver.find_element_by_id("kw").clear()#下面三步是返回到主窗口中進行的操作,證明我們確實返回了
        driver.find_element_by_id("kw").send_keys(" python")
        driver.find_element_by_id("su").click()
        
    def tearDown(self):
        #self.driver.quit()
        self.assertEqual([], self.verificationErrors)
 
if __name__ == "__main__":
    unittest.main()
 
注釋:在python webdriver中
          current_window_handle為得到當前窗口函數
          window_handles獲取所有窗口函數
          switch_to_window()進入指定的窗口函數


免責聲明!

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



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