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

发表于:2023-12-15 09:23

字体: | 上一篇 | 下一篇 | 我要投稿

 作者:老夫的少女心    来源:CSDN

  通过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()
  本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理
《2023软件测试行业现状调查报告》独家发布~

关注51Testing

联系我们

快捷面板 站点地图 联系我们 广告服务 关于我们 站长统计 发展历程

法律顾问:上海兰迪律师事务所 项棋律师
版权所有 上海博为峰软件技术股份有限公司 Copyright©51testing.com 2003-2024
投诉及意见反馈:webmaster@51testing.com; 业务联系:service@51testing.com 021-64471599-8017

沪ICP备05003035号

沪公网安备 31010102002173号