自动化测试使用cookie跳过验证码

准备工具:

fiddler

Python+selenium


安装fidder

fidder官方下载地址
fidder首次安装需要设置才能抓取https参考如下
fidder设置抓取https

开始

1、打开fidder

2、通过浏览器登录正常登录百度账号。像这样!
这里写图片描述

3、查看Fiddler获取到的登录请求的Cookie。找到Host为“passport.baidu.com”的URL,在右侧窗口查看该请求的Cookie。为什么是这两个?(试的<->)


然后,找到重要的两个参数“BAIDUID”和“BDUSS”。

4、编写Selenium自动化测试脚本,跳过登录。

from selenium import webdriver
from time import sleep

driver = webdriver.Chrome()
driver.get(“https://www.baidu.com”)

添加Cookie

driver.add_cookie({‘name’:‘BAIDUID’,‘value’:‘6FC26726C46E744593310AA7515:FG=1’})
driver.add_cookie({‘name’:‘BDUSS’,‘value’:‘5OYWFSdFJBeTlBMHVGVnhvLWZlUFQ5YUhKN0c3cll5LUhiMUlPYk1RcHNYMGxiQVFBQUFBJCQAAAAAAAAAAAEAAAB2gOWut9y2t7XE0KHQocTxNjIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA’})

刷新页面

driver.refresh()
sleep(5)

获取登录用户名并打印

username = driver.find_element_by_class_name(“user-name”).text
print(username)

#关闭浏览器
driver.quit()

首先,访问百度首页,处于未登录状态。

然后,通过Selenium所提供add_cookie()方法添加Cookie信息。

最后,刷新页面,现在已经是登录状态了,获取登录之后的用户名并打印。

注意:如果是首次抓取https请求不要忘了按照fidder设置抓取https中的方法添加证书,不然fidder是抓取不到cookie的,如下图

                                </div>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值