Python獲取瀏覽器窗口句柄過(guò)程解析
句柄(handle)是C++程序設(shè)計(jì)中經(jīng)常提及的一個(gè)術(shù)語(yǔ)。它并不是一種具體的、固定不變的數(shù)據(jù)類(lèi)型或?qū)嶓w,而是代表了程序設(shè)計(jì)中的一個(gè)廣義的概念。句柄一般是指獲取另一個(gè)對(duì)象的方法——一個(gè)廣義的指針,它的具體形式可能是一個(gè)整數(shù)、一個(gè)對(duì)象或就是一個(gè)真實(shí)的指針,而它的目的就是建立起與被訪問(wèn)對(duì)象之間的惟一的聯(lián)系
使用 selenium 獲取窗口句柄
from selenium import webdriver import time # chromedriver的絕對(duì)路徑 # driver_path = r'D:\0SW\最臨時(shí)軟件\chromedriver.exe' driver_path = r'D:\0SW\最臨時(shí)軟件\geckodriver.exe' # 初始化一個(gè)driver,并且指定chromedriver的路徑 # driver = webdriver.Chrome(executable_path=driver_path) driver = webdriver.Firefox(executable_path=driver_path) # 請(qǐng)求網(wǎng)頁(yè) driver.get("http://www.gsxt.gov.cn/index.html") driver.execute_script("window.open('http://www.hao6v.com')") # 打印窗口句柄 a = driver.window_handles print(a) # 切換窗口 driver.switch_to.window(driver.window_handles[1]) print(driver.current_url) print(driver.page_source) driver.switch_to.window(a[0]) # 選擇第一個(gè)標(biāo)簽頁(yè) 睡兩秒 選擇第二個(gè)標(biāo)簽頁(yè) time.sleep(2) driver.switch_to.window(a[1])
雖然在窗口中切換到了新的頁(yè)面,但是driver中還沒(méi)切換
如果想要在代碼中切換到新的頁(yè)面,并爬取頁(yè)面,那么應(yīng)該使用driver.switch_to.window來(lái)切換到指定的窗口
從driver.window_handles中取出具體是 第幾個(gè)窗口
driver.window_handles是一個(gè)列表,里邊存儲(chǔ)的是窗口句柄。他會(huì)按照打開(kāi)的順序來(lái)存儲(chǔ)窗口句柄
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
python with (as)語(yǔ)句實(shí)例詳解
這篇文章主要介紹了python with (as)語(yǔ)句實(shí)例詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2020-02-02python中l(wèi)ogging庫(kù)的使用總結(jié)
Python的logging模塊提供了通用的日志系統(tǒng),可以方便第三方模塊或者是應(yīng)用使用,下面這篇文章主要給大家介紹了關(guān)于python中l(wèi)ogging庫(kù)使用的一些知識(shí)總結(jié),文中給出了詳細(xì)的示例代碼,需要的朋友可以參考借鑒,下面來(lái)一起看看吧。2017-10-10python讀取yaml文件后修改寫(xiě)入本地實(shí)例
這篇文章主要介紹了python讀取yaml文件后修改寫(xiě)入本地實(shí)例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-04-04python 利用pyttsx3文字轉(zhuǎn)語(yǔ)音過(guò)程詳解
這篇文章主要介紹了python 利用pyttsx3文字轉(zhuǎn)語(yǔ)音過(guò)程詳解,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下2019-09-09python安裝模塊如何通過(guò)setup.py安裝(超簡(jiǎn)單)
這篇文章主要介紹了python安裝模塊如何通過(guò)setup.py安裝,安裝方法其實(shí)很簡(jiǎn)單,感興趣的朋友跟隨腳本之家小編一起看看吧2018-05-05Python安裝第三方庫(kù)攻略(pip和Anaconda)
這篇文章主要介紹了Python安裝第三方庫(kù)攻略(pip和Anaconda),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-10-10python快速排序的實(shí)現(xiàn)及運(yùn)行時(shí)間比較
這篇文章主要介紹了python快速排序的實(shí)現(xiàn)及運(yùn)行時(shí)間比較,本文通過(guò)兩種方法給大家介紹,大家可以根據(jù)自己需要選擇適合自己的方法,對(duì)python實(shí)現(xiàn)快速排序相關(guān)知識(shí)感興趣的朋友一起看看吧2019-11-11Python實(shí)現(xiàn)發(fā)送警告通知到企業(yè)微信方法詳解
常見(jiàn)的報(bào)警方式有:郵件,電話,短信,微信。本文將介紹如何利用Python發(fā)送警告通知到企業(yè)微信,文中的示例代碼有一定的參考價(jià)值,感興趣的可以了解一下2022-01-01