自动化测试 -- 通过Cookie跳过登录验证码
2017-02-22 23:08 虫师 阅读(41947) 评论(25) 编辑 收藏 举报之前写过一篇博客:自动化测试如何解决验证码的问题。
介绍了验证码的几种处理方式,最后一种就是通过Cookie跳转过验证码,但讲的不够详细。今天,就详细的介绍一下这种方式。
准备工具:
------------------
fiddler
Python+selenium
------------------
以百度登录为例。
验证码是汉字的,我想通过程序识别起来有点难度,也会比较麻烦。
接下来开始动手。
1、开启Fiddler 工具,像这样!
2、通过浏览器登录正常登录百度账号。像这样!
3、通过Fiddler获取登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。
然后,找到重要的两个参数“BAIDUID”和“BDUSS”。
4、编写Selenium自动化测试脚本,跳过登录。
from selenium import webdriver driver = webdriver.Chrome() driver.get("https://www.baidu.com") # 添加Cookie driver.add_cookie({'name':'BAIDUID','value':'AAAAAAAAAAAAAA:FG=1'}) driver.add_cookie({'name':'BDUSS','value':'AAAAAAAAAAAAAAAAAAAAAAAAAA'}) # 刷新页面 driver.refresh() # 获取登录用户名并打印 username = driver.find_element_by_class_name("user-name").text print(username) #关闭浏览器 driver.quit()
首先,访问百度首页,处于未登录状态。
然后,通过Selenium所提供add_cookie()方法添加Cookie信息。
最后,刷新页面,现在已经是登录状态了,获取登录之后的用户名并打印。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)
2013-02-22 python基础学习笔记(一)