TA的每日心情 | 无聊 2024-7-12 13:16 |
---|
签到天数: 1 天 连续签到: 1 天 [LV.1]测试小兵
|
今天,详细的介绍一下通过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信息。
最后,刷新页面,现在已经是登录状态了,获取登录之后的用户名并打印。
|
|