1. 程式人生 > 實用技巧 >selenium之多個視窗之間切換

selenium之多個視窗之間切換

在頁面操作過程中有時候點選某個連結會彈出新的視窗,這時就需要切換到新開啟的視窗上進行操作。

WebDriver提供了以下方法

current_window_handle:獲得當前視窗控制代碼

window_handles:返回所有視窗的控制代碼

switch_to.window(視窗控制代碼):切換到對應的視窗

close :關閉視窗使用

還是以百度為例,執行下面的程式碼:

from selenium import webdriver
import time
driver = webdriver.Chrome()
# 隱式等待
driver.implicitly_wait(5)
#開啟百度網頁
driver.get("http://www.baidu.com") # 定位到元素貼吧按鈕,進行點選操作 element=driver.find_element_by_link_text("貼吧").click() # 獲得當前所有開啟的視窗的控制代碼 all_handles = driver.window_handles for handle in all_handles: driver.switch_to.window(handle) print(driver.title) driver.quit()

執行以上程式碼會打印出兩個title標題。因為window_handles返回的是一個列表,因此也可以使用列表的下標來獲取想要執行的視窗,自己動手試試吧

我的格言:但行好事、莫問前程