中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python網絡爬蟲selenium打開多窗口與切換頁面的方法

發布時間:2022-01-31 19:57:26 來源:億速云 閱讀:489 作者:iii 欄目:開發技術

這篇“python網絡爬蟲selenium打開多窗口與切換頁面的方法”文章的知識點大部分人都不太理解,所以小編給大家總結了以下內容,內容詳細,步驟清晰,具有一定的借鑒價值,希望大家閱讀完這篇文章能有所收獲,下面我們一起來看看這篇“python網絡爬蟲selenium打開多窗口與切換頁面的方法”文章吧。

首先打開百度

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

以知乎為例,打開一個新的界面,使用 execute_script() 方法,執行JavaScript代碼。
并調用driver的current_url屬性,然后查看當前頁面的url:

driver.execute_script("window.open('https://www.zhihu.com')")
print(driver.current_url)

python網絡爬蟲selenium打開多窗口與切換頁面的方法

當前頁面依然還是百度。要想把當前頁面換成知乎,還需要繼續用代碼切換過來。

打印 句柄 ,即driver的 window_handles 屬性,輸出結果如下:

print(driver.window_handles)

python網絡爬蟲selenium打開多窗口與切換頁面的方法

是一個有兩個元素的列表,分別代表上邊打開的兩個網頁,百度和知乎。

分別將其傳入switch_to.window()方法中,再打印當前頁面的url,輸出結果如下,可以看到,頁面成功被切換。

win1 = driver.window_handles[0]
driver.switch_to.window(win1)
print(driver.current_url)

time.sleep(2)

win2 = driver.window_handles[1]
driver.switch_to.window(win2)
print(driver.current_url)

python網絡爬蟲selenium打開多窗口與切換頁面的方法

關于句柄在列表中的順序,
建議一般最好只額外打開一個網頁,不建議打開更多的網頁進行切換。當打開的網頁數量超過兩個時,句柄列表中的元素分別代表哪個網頁,其順序是不太好確定的。以下面代碼為例,其順序如下。

from selenium import webdriver
import time

driver = webdriver.Chrome()

driver.get('https://www.baidu.com/')

# 打開一個新的頁面
driver.execute_script("window.open('https://www.zhihu.com')")
driver.execute_script("window.open('https://www.lagou.com/')")
driver.execute_script("window.open('https://www.jianshu.com/')")

win1 = driver.window_handles[0]
driver.switch_to.window(win1)
print(driver.current_url)

time.sleep(2)

win2 = driver.window_handles[1]
driver.switch_to.window(win2)
print(driver.current_url)

time.sleep(2)

win3 = driver.window_handles[2]
driver.switch_to.window(win3)
print(driver.current_url)

time.sleep(2)

win4 = driver.window_handles[3]
driver.switch_to.window(win4)
print(driver.current_url)

輸出結果如圖,句柄的第一個元素表示我們第一次打開的主網頁界面,
然后我們依次打開了知乎、拉鉤、簡書,但是句柄列表第二三四個元素依次表示的是簡書、拉鉤、知乎。
可以認為其從第二個元素往后是與我們代碼寫入的順序是相反的。

python網絡爬蟲selenium打開多窗口與切換頁面的方法

以上就是關于“python網絡爬蟲selenium打開多窗口與切換頁面的方法”這篇文章的內容,相信大家都有了一定的了解,希望小編分享的內容對大家有幫助,若想了解更多相關的知識內容,請關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

舒兰市| 壤塘县| 遂宁市| 获嘉县| 望都县| 广州市| 贵德县| 沁阳市| 仁化县| 凤冈县| 茂名市| 九江市| 南乐县| 吕梁市| 元氏县| 彭阳县| 宁津县| 平泉县| 岑溪市| 孟村| 云龙县| 荣成市| 宜君县| 偃师市| 甘德县| 周口市| 同德县| 翼城县| 南安市| 临武县| 库尔勒市| 土默特左旗| 峡江县| 封开县| 通山县| 宜州市| 钦州市| 黄石市| 东港市| 家居| 乌鲁木齐市|