本文仅供学习交流使用,如侵立删! |
Selenium获取请求头、响应头
操作环境
- win10 、 mac
- Python3.9
- selenium、seleniumwire
selenium是没有办法直接获取请求的详细Headers,很多时候我们我们是需要提取相关的参数来做进一步使用比如token之类的,这里推荐使用一个SeleniumWire模块来达到目的
Selenium-wire模块介绍
Selenium-wire官方文档
安装:pip install selenium-wire
项目介绍
Selenium Wire 扩展了 Selenium 的 Python 绑定,让您可以访问浏览器发出的底层请求。 您编写代码的方式与编写 Selenium 的方式相同,但您会获得额外的 API 来检查请求和响应并动态更改它们。
Compatibilty
- Python 3.6+
- Selenium 3.4.0+
- Chrome, Firefox and Remote Webdriver supported
获取请求headers
from seleniumwire import webdriver
def get_request_headers():
"""
获取请求头headers详细信息
"""
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
for request in driver.requests:
print('请求headers:')
print(request.headers)
break
driver.quit()
获取响应headers
from seleniumwire import webdriver
def get_response_headers():
"""
获取响应头headers详细信息
"""
driver = webdriver.Chrome()
driver.get('https://www.baidu.com')
for request in driver.requests:
print('响应headers:')
print(request.response.headers)
break
driver.quit()
获取所有加载的url
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()
这里就先分享这几个方法,基本上整个请求流程中所有的数据都是可以拿到的,具体可以查看官方文档或直接查看源码
本文仅供学习交流使用,如侵立删! |
点击查看更多内容
为 TA 点赞
评论
共同学习,写下你的评论
评论加载中...
作者其他优质文章
正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦