【原创】Selenium获取请求头、响应头
| 本文仅供学习交流使用,如侵立删! |
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()

这里就先分享这几个方法,基本上整个请求流程中所有的数据都是可以拿到的,具体可以查看官方文档或直接查看源码
资源下载
https://download.csdn.net/download/qq_38154948/85204671
| 本文仅供学习交流使用,如侵立删! |
【原创】Selenium获取请求头、响应头的更多相关文章
- 随笔——python截取http请求报文响应头
随笔——python截取http请求报文响应头 标签: pythonhttp响应头 2014-05-29 09:32 2114人阅读 评论(0) 收藏 举报 分类: 随笔(7) 版权声明:本文为博 ...
- http请求头响应头大全
转:http://www.jb51.net/article/51951.htm 本文为多篇“HTTP请求头相关文章”及<HTTP权威指南>一书的阅读后个人汇总整理版,以便于理解. 通常HT ...
- 前端必备HTTP技能之HTTP请求头响应头中常用字段详解(转)
作为一名前端开发人员,肯定少不了要和网络打交道,因为要从服务器端拉取数据,从服务端获取数据最常用的方式还是通过HTTP请求.给服务器发请求的时候有请求头,接受服务器响应的时候有响应头,客户端和服务器端 ...
- javaweb(四)——Http协议(请求头,响应头详解)
一.什么是HTTP协议 HTTP是hypertext transfer protocol(超文本传输协议)的简写,它是TCP/IP协议的一个应用层协议,用于定义WEB浏览器与WEB服务器之间交换数据的 ...
- HTTP 请求头 & 响应头
HTTP请求头概述 HTTP客户程序(例如浏览器),向服务器发送请求的时候必须指明请求类型(一般是GET或者POST).如有必要,客户程序还可以选择发送其他的请求头.大多数请求头并不是必需的, 但Co ...
- .net core webapi通过中间件获取请求和响应内容
本文主要根据中间件来实现对.net core webapi中产生的请求和响应数据进行获取并存入日志文件中: 这里不详细介绍日志文件的使用.你可以自己接入NLog,log4net,Exceptionle ...
- Servlet-2获取请求,响应结果
获取请求参数值1)HttpServletRequest ① 该接口是ServletRequest接口的子接口,封装了HTTP请求的相关信息,由Servlet容器创建其实现类对象并传入serv ...
- curl/wget 测试http请求的响应头信息
1. wget –debug wget可以使用debug信息来查看信息头,如下: [root@localhost ~]# wget --debug http://192.168.1.101:8080/ ...
- asp.net获取请求的协议头是否启动了SSL(Https)
方法: HttpContext.Current.Request.IsSecureConnection SLL:True HttpContext.Current.Request.Url.ToString ...
随机推荐
- Ubuntu16.04编译OpenJDK7u40
下图是OpenJDK6.OpenJDK7.OpenJDK7u和OpenJDK8这几个项目之间的关系: 下面把编译步骤记录下来: 编译环境 Ubuntu 16.04.4 LTS jdk版本 openjd ...
- [SQLServer]NetCore中将SQLServer数据库备份为Sql脚本
NetCore中将SQLServer数据库备份为Sql脚本 描述: 最近写项目收到了一个需求, 就是将SQL Server数据库备份为Sql脚本, 如果是My Sql之类的还好说, 但是在网上搜了一大 ...
- shellcode编写
shellcode编写 shellcode是一段用于利用软件漏洞而执行的代码,通常使用机器语言编写,其目的往往是让攻击者获得目标机器的命令行shell而得名,其他有类似功能的代码也可以称为shellc ...
- 爷青回,canal 1.1.6来了,几个重要特性和bug修复
刚刚在群里看到消息说,时隔一年,canal 1.1.6正式release了,赶紧上去看看有什么新特性. (居然才发布了6个小时,前排围观) 1.什么是canal canal [kə'næl],译意为水 ...
- 3000帧动画图解MySQL为什么需要binlog、redo log和undo log
全文建立在MySQL的存储引擎为InnoDB的基础上 先看一条SQL如何入库的: 这是一条很简单的更新SQL,从MySQL服务端接收到SQL到落盘,先后经过了MySQL Server层和InnoDB存 ...
- String、StringBuilder、StringBuffer——JavaSE基础
String.StringBuilder.StringBuffer String不可变 StringBuilder与StringBuffer均可变 StringBuilder线程不安全,效率高,常用 ...
- 花两万培训Java的三个同学,最后都怎么样了
仙路尽头谁为峰,学完Java学Python. 前言 对于IT行业的培训,例如Java.大数据.H5等等,我一直保持着肯定的态度. 因为当年大学时期的我,也差点去参加Java培训.一是因为那时钱包空空, ...
- Java系列之运算符
运算符 算术运算符:+ (加).-(减) .*(乘)./(除).%(模).++(自增) . --(自减) 赋值运算符:= 关系运算符:>.<.>= <= == != insta ...
- .net core 抛异常对性能影响的求证之路
一.前言 在.net 社区中曾经听到过很多关于大量抛异常会影响性能这样的结论,心中一直就存在各种疑问.项目中使用自定义异常来处理业务很爽,但是又担心大量抛业务异常存在性能问题. 查阅了各种文档,微软官 ...
- synchronized下的 i+=2 和 i++ i++执行结果居然不一样
起因 逛[博客园-博问]时发现了一段有意思的问题: 问题链接:https://q.cnblogs.com/q/140032/ 这段代码是这样的: import java.util.concurrent ...