通过selenium获取浏览器的cookie等头部信息

通过selenium获取浏览器的cookie等头部信息

一、背景介绍

对于部分有登陆限制的网站/APP我们无法通过登陆接口实现登陆(比如验证码)
但是我们还想绕过登陆接口通过接口来实现一些操作,毕竟UI自动化比较慢。
想到了可以通过UI自动化来进行登录(之前也介绍过UI自动化实现自动登录,
包括验证码的实现),然后获取登陆后的cookie等信息,进而实现接口操作

二、实现方式

seleniumUI自动化登陆,然后再登陆后获取当前的headers信息。通过获取的headers信息
采用接口的形式实现我们的操作。(借助第三方库seleniumwrit【感谢大佬公布的类库】)

三、实现过程

1、安装selenium-writ库
下载路径:https://pan.baidu.com/s/17SsvS3uF_G6PC7M1FIRveg
提取码:ivfz

下载之后,使用pip进行安装,
cd 文件所在目录
pip install 文件名称
此时就安装完成

2、导入使用第三方库
此类库就替代了selenium库来使用
from seleniumwire import webdriver

3、通过driver.requests来获取当前网页的所有信息头

4、筛选出我们需要的headers头,我们可以判断headers里面是否有cookie等特定的参数来实现

四、代码

import time
from seleniumwire import webdriver
from selenium.webdriver.common.by import By

driver = webdriver.Chrome()
driver.get(url)
time.sleep(3)
driver.find_elements(By.CLASS_NAME,'el-input__inner')[0].send_keys('')
driver.find_elements(By.CLASS_NAME,'el-input__inner')[1].send_keys('')
driver.find_element(By.XPATH, '//div/div/div/button/span[text()="登录"]').click()
time.sleep(2)
agent = driver.requests
a = 1
print(agent[-2].headers)
for requests in agent:
    print('========================================'+ str(a)+'============================')
    print(requests.headers)
    a = a+1
driver.quit()

猜你喜欢

转载自blog.csdn.net/qq_32828053/article/details/123115352