selenium中的多窗口切換


在selenium中,我們會遇到一些問題,就是多窗口處理的問題,我們爬取的內容在一個新窗口上,這個時候,我們就需要先切換到這個新的窗口上,然后進行抓取內容。

如何切換呢?

首先,獲取當前窗口句柄

    1.元素有屬性,瀏覽器的窗口其實也有屬性的,只是你看不到,瀏覽器窗口的屬性用句柄(handle)來識別。

    2.人為操作的話,可以通過眼睛看,識別不同的窗口點擊切換。但是腳本沒長眼睛,它不知道你要操作哪個窗口,這時候只能句柄來判斷了。

    3.獲取當前頁面的句柄:driver.current_window_handle。

然后我們通過遍歷的方式,切換到另一個窗口,上代碼:

from selenium import webdriver
import time
zhuye = obj.current_window_handle
all_handles = obj.window_handles
if len(all_handles)>1:
    for handle in all_handles:
        if handle != zhuye:
            obj.switch_to.window(handle)

 這樣,我們就將從當前窗口切換到新的窗口,selenium的爬蟲就可以抓取新窗口上的東西了

最近看了另外一種切換窗口的辦法

#獲取所有的窗口
all_h = browser.window_handles
#根據列表下標鎖定
browser.switch_to.window(all_h[1])
                

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM