說明:本篇博客基于selenium 4.1.0
場景說明
場景:點擊某個按鈕后,頁面是在一個新的瀏覽器中出現(xiàn)。如百度的’更多’按鈕
問題:瀏覽器可能自動切換到了新頁面,但是selenium的driver還停留在舊頁面,導致無法操作新頁面
解決:使用selenium的窗口切換功能,切換到新頁面之后再進行操作文章來源:http://www.zghlxwxcb.cn/news/detail-515582.html
切換步驟
# 步驟1:獲取窗口句柄
windows = driver.window_handles # 返回的是一個句柄列表,列表排序為當前窗口順序
# 步驟2:切換到新窗口
driver.switch_to.window(windows[-1]) # 新窗口通常為最后一個,若為其他位置則自行處理
示例
import time
from selenium import webdriver
from selenium.webdriver.common.by import By
driver = webdriver.Chrome()
driver.implicitly_wait(10)
driver.get('https://www.baidu.com/')
# 點擊'更多'打開新窗口
driver.find_element(By.CSS_SELECTOR, '[name="tj_briicon"]').click()
print(driver.title) # 輸出結(jié)果:百度一下,你就知道 -> 瀏覽器切到了新窗口,但selenium還沒有
# 切換窗口
windows = driver.window_handles
driver.switch_to.window(windows[-1])
print(driver.title) # 輸出結(jié)果:百度產(chǎn)品大全 -> 切到新窗口成功
time.sleep(5)
driver.quit()
更多技術(shù)文章文章來源地址http://www.zghlxwxcb.cn/news/detail-515582.html
到了這里,關于selenium窗口切換的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!