如何使用cookie跳过验证码登录
_herbert
共 1577字,需浏览 4分钟
· 2021-04-18
应用背景
在做UI自动化测试时,我们常常遇到需要各种输入验证码,解决验证码的方式有以下几种:
利用pil的图片处理image和pytesseract的文字识别
开发设置万能验证码
测试时研发去掉验证码
利用cookie跳过验证码登录
今天给大家分享如何利用cookie来跳过验证码登录,代码如下:
#coding:utf-8 中文编码
from selenium import webdriver 导入驱动模块
import time 导入时间休眠模块
from http import cookiejar 导入cookie模块,python3.0以上用cookiejar
driver = webdriver.Chrome()
url ('系统的登录地址')
driver.get(url) 驱动访问浏览器url
driver.maximize_window() 窗口最大化
time.sleep(3) 等待3s
driver.add_cookie({"name": "vue_admin_template_token", "value": "xx"})
driver.add_cookie({"name": "sidebarStatus", "value": "0"})
time.sleep(2)
userInfo = '{"name":"李"}'
topNavVal ='1'
userPower ='[{"xx"}]'
newRouter ='[{"xx"}]'
print('window.localStorage.setItem("userInfo",JSON.Stringify('+userInfo+'));')
driver.execute_script('window.localStorage.setItem("userInfo",JSON.stringify('+userInfo+'));'
'window.localStorage.setItem("topNavVal",JSON.stringify('+topNavVal+'));'
'window.localStorage.setItem("userPower",JSON.stringify('+userPower+'));'
'window.localStorage.setItem("newRouter",JSON.stringify('+newRouter+'));')
driver.get(url)
#coding:utf-8 代码中有中文需要编码,不然编译会报错:
File "E:/Python-3.7.10/denglu.py", line 18
SyntaxError: Non-UTF-8 code starting with '\xe5' in file E:/Python-3.7.10/denglu.py on line 19, but no encoding declared
driver.add_cookie 添加浏览器cookie,浏览器缓存的cookie位置:
我登录的系统前端缓存在浏览器的cookie数据不完整,没有用户相关信息,因此我跳过验证码登录成功后,没有功能菜单,每个公司的前端缓存方式不同,要根据个人公司情况稍作代码调整
由于还有部分参数信息缓存在浏览器的Local Storage中,需要拼接字符串,代码如上
这样利用cookie就可快速跳过验证码登录
评论
金融研究 | 使用Python测量关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
金融研究(更新) | 使用Python构建关键审计事项的「信息含量」
Tips: 公众号推送后内容只能更改一次,且只能改20字符。如果内容出问题,或者想更新内容, 只能重复推送。为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-01-13-information-content-of-critical-aud
大邓和他的Python
0
词向量(更新) | 使用MD&A2001-2022语料训练Word2Vec模型
buTips: 公众号推送后内容只能更改一次,且只能改20字符。 如果内容出问题,或者想更新内容, 只能重复推送。 为了更好的阅读体验,建议阅读本文博客版, 链接地址https://textdata.cn/blog/2023-03-24-load-w2v-and-expand-your-concpe
大邓和他的Python
0
偷偷告诉你如何一台电脑开多个微信!
大家好,我是轩辕。前几天在粉丝群里,有人问我是怎么在一台电脑上同时登录两个微信的?正好之前写过一篇文章,分析过原理,分享给没看过的小伙伴学习一下。手机端多开微信估计很多人都知道,像华为、小米等手机系统都对此做了支持,不过在运行Windows系统的电脑上怎么启动两个微信呢?其实很简单,你只需要写一个批
编程技术宇宙
0
测试新人,如何快速上手一个陌生的系统!
大家好,我是狂师!作为刚入行不久的测试新人,面对一个陌生的系统时,可能会感到有些手足无措。面对一个全新的系统系统,如何快速上手并展开有效的测试工作是一个重要的挑战。本文将探讨测试新人如何通过一系列步骤和策略,快速熟悉并掌握新系统的测试要点,从而提高测试效率和质量。本文旨在为测试新手提供一份指导,帮助
测试开发技术
0
光纤详解:光纤跳线如何分类,多向单模转换?
本文来自“光纤详解:光纤跳线如何分类,多向单模转换?”,光纤跳线作为光网络布线最基础的元件之一,被广泛应用于光纤链路的搭建中。如今,光纤制造商根据应用场景的不同推出众多类型的光纤跳线,如MPO/LC/SC/FC/ST光纤跳线,单工/双工光纤跳线,单模/多模光纤跳线等,它们之间各有特色,且不可替代。本
架构师技术联盟
0
如何计算数据中心的冷却需求?
今日分享 【导读】数据中心的冷却要求受多种因素影响,包括设备的热量输出、占地面积、设施设计和电气系统功率额定值等等……众所周知,环境因素会严重影响数据中心设备。过多的热量积聚会损坏服务器,可能导致其自动关闭。经常在高于可接受的温度下运行服务器会缩短其使用
数据中心运维管理
0
5000w+ 的大表如何拆?亿级别大表拆分实战复盘
前言笔者是在两年前接手公司的财务系统的开发和维护工作。在系统移交的初期,笔者和团队就发现,系统内有一张5000W+的大表。跟踪代码发现,该表是用于存储资金流水的表格,关联着众多功能点,同时也有众多的下游系统在使用这张表的数据。进一步的观察发现,这张表还在以每月600W+的数据持续增长,也就是说,不超
码农编程进阶笔记
0