【原創(chuàng)】Selenium獲取請(qǐng)求頭、響應(yīng)頭
?本文僅供學(xué)習(xí)交流使用,如侵立刪!
Selenium獲取請(qǐng)求頭、響應(yīng)頭
操作環(huán)境
win10 、 mac
Python3.9
selenium、seleniumwire
selenium是沒有辦法直接獲取請(qǐng)求的詳細(xì)Headers,很多時(shí)候我們我們是需要提取相關(guān)的參數(shù)來做進(jìn)一步使用比如token之類的,這里推薦使用一個(gè)SeleniumWire模塊來達(dá)到目的

Selenium-wire模塊介紹
Selenium-wire官方文檔 安裝:pip install selenium-wire 項(xiàng)目介紹 Selenium Wire 擴(kuò)展了 Selenium 的 Python 綁定,讓您可以訪問瀏覽器發(fā)出的底層請(qǐng)求。 您編寫代碼的方式與編寫 Selenium 的方式相同,但您會(huì)獲得額外的 API 來檢查請(qǐng)求和響應(yīng)并動(dòng)態(tài)更改它們。
Compatibilty
Python 3.6+
Selenium 3.4.0+
Chrome, Firefox and Remote Webdriver supported
獲取請(qǐng)求headers
from seleniumwire import webdriver
def get_request_headers():
? ?"""
? ?獲取請(qǐng)求頭headers詳細(xì)信息
? ?"""
? ?driver = webdriver.Chrome()
? ?driver.get('https://www.baidu.com')
? ?for request in driver.requests:
? ? ? ?print('請(qǐng)求headers:')
? ? ? ?print(request.headers)
? ? ? ?break
? ?driver.quit()

獲取響應(yīng)headers
from seleniumwire import webdriver
def get_response_headers():
? ?"""
? ?獲取響應(yīng)頭headers詳細(xì)信息
? ?"""
? ?driver = webdriver.Chrome()
? ?driver.get('https://www.baidu.com')
? ?for request in driver.requests:
? ? ? ?print('響應(yīng)headers:')
? ? ? ?print(request.response.headers)
? ? ? ?break
? ?driver.quit()

from seleniumwire import webdriver
def get_request_headers():
? ?"""
? 獲取所有加載的url
? ?"""
? ?driver = webdriver.Chrome()
? ?driver.get('https://www.baidu.com')
? ?print('獲取所有加載的url:')
? ?for request in driver.requests:
? ? ? ?print(request.url)
? ?driver.quit()

這里就先分享這幾個(gè)方法,基本上整個(gè)請(qǐng)求流程中所有的數(shù)據(jù)都是可以拿到的,具體可以查看官方文檔或直接查看源碼
資源下載
https://download.csdn.net/download/qq_38154948/85204671
本文僅供學(xué)習(xí)交流使用,如侵立刪!