selenium之多個視窗之間切換
阿新 • • 發佈:2020-09-12
在頁面操作過程中有時候點選某個連結會彈出新的視窗,這時就需要切換到新開啟的視窗上進行操作。
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返回的是一個列表,因此也可以使用列表的下標來獲取想要執行的視窗,自己動手試試吧
我的格言:但行好事、莫問前程