如何使用 Python Selenium 切換不同的瀏覽器選項卡?


我們可以使用 Python 中的 Selenium webdriver 使用 switch_to.window 方法切換不同的瀏覽器選項卡。預設情況下,webdriver 可以訪問父視窗。

一旦打開了另一個瀏覽器選項卡,switch_to.window 將有助於將 webdriver 焦點切換到該選項卡。我們要切換到的瀏覽器視窗的視窗控制代碼作為引數傳遞給該方法。

window_handles 方法包含已開啟瀏覽器的所有視窗控制代碼 id 的列表。current_window_handle 方法用於儲存處於焦點狀態的瀏覽器視窗的視窗控制代碼 id。

語法

p = driver.current_window_handle
parent = driver.window_handles[0]
chld = driver.window_handles[1]
driver.switch_to.window(chld)

讓我們嘗試訪問以下瀏覽器選項卡 −

示例

from selenium import webdriver
#set chromodriver.exe path
driver = webdriver.Chrome(executable_path="C:\chromedriver.exe")
driver.implicitly_wait(0.5)
#launch URL
driver.get("https://the-internet.herokuapp.com/windows")
#identify element
l = driver.find_element_by_link_text("Click Here")
l.click()
#obtain window handle of browser in focus
p = driver.current_window_handle
#obtain parent window handle
parent = driver.window_handles[0]
#obtain browser tab window
chld = driver.window_handles[1]
#switch to browser tab
driver.switch_to.window(chld)
print("Page title for browser tab:")
print(driver.title)
#close browser tab window
driver.close()
#switch to parent window
driver.switch_to.window(parent)
print("Page title for parent window:")
print(driver.title)
#close browser parent window
driver.close()

輸出

更新日期:2021 年 4 月 6 日

6K+ 瀏覽

啟動您的 職業

透過完成課程獲得認證

開始學習
廣告