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