selenium webdriver可以通過獲取頁面標題,再跟據標題去切換瀏覽器窗口,代碼如下:
#encoding=utf-8 import unittest import time import chardet from selenium import webdriver class VisitSogouByIE(unittest.TestCase): def setUp(self): # 啟動chrome瀏覽器 self.driver = webdriver.Chrome(executable_path = "e:\\chromedriver") def test_operateWindowHandle(self): url = "http://www.baidu.com" self.driver.get(url) # 獲取當前窗口句柄 now_handle = self.driver.current_window_handle # 打印當前獲取的窗口句柄 print now_handle # 百度搜索輸入框中輸入“selenium” self.driver.find_element_by_id("kw").send_keys("w3cschool") # 點擊搜索按鈕 self.driver.find_element_by_id("su").click() # 導入time包 import time # 等待3秒,以便網頁加載完成 time.sleep(3) # 點擊w3school在線教育鏈接 self.driver.find_element_by_xpath('//div[@id="1"]//a[text()="w3"]').click() time.sleep(5) # 獲取所有窗口句柄 all_handles = self.driver.window_handles # 循環遍歷所有新打開的窗口句柄,也就是說不包括主窗口 for handle in all_handles: self.driver.switch_to.window(handle) print type(self.driver.title) print self.driver.title if self.driver.title == u"w3school 在線教程": # 點擊HTML5鏈接 self.driver.find_element_by_link_text('HTML5').click() time.sleep(3) if self.driver.title == u"w3cschool_百度搜索": time.sleep(2) self.driver.find_element_by_id("kw").clear() self.driver.find_element_by_id("kw").send_keys(u"光榮之路自動化測試培訓") self.driver.find_element_by_id("su").click() time.sleep(5) def tearDown(self): # 退出IE瀏覽器 self.driver.quit() if __name__ == '__main__': unittest.main()