Python selenium 使用cookie跳过验证码

为了防止网站被恶意注册,很多的网站都在登录页面加入了识别文字,识别图片,拖动拼图的方式来识别机器人,但是如果我们要用这个网站做UI自动化测试,登录的时候就会很麻烦,每次都要手动输入验证码之类的,使用cookie登录就能很好的解决这个问题。
cookie登录原理:第一次登录网站的时候手动输入信息,然后把cookie保存下载,cookie信息中存了一些可以识别用户身份的信息,第二次登录网站的时候,加载cookie,服务器就会通过cookie中的信息去识别用户,然后登录成功。所以cookie登录主要分为两大步,一是获取cookie,二是添加cookie。

获取cookie

import requests
import time
import json
from selenium import webdriver

# 先打开需要登录的网址
driver = webdriver.Chrome()
driver.get("https://www.jianshu.com/sign_in")
# 输入用户名密码点击登录
driver.find_element_by_id("session_email_or_mobile_number").send_keys("username")
driver.find_element_by_id("session_password").send_keys("password")
driver.find_element_by_id("sign-in-form-submit-btn").click()
time.sleep(10) # 手动验证时间
# ----  获得cookies   -----
cookie = driver.get_cookies()
print(cookie)  # list
# 将cookies数据存入文件
cookie_data_file = "D:\CookieData.json"
json.dump(cookie,open(cookie_data_file,"w"))

登录时添加cookie

# ---- cookie 登录-----
# 打开网址
driver = webdriver.Chrome()
driver.get("https://www.jianshu.com/sign_in")
# 从cookie json文件读取python数据
cookie_data_file = "D:\CookieData.json"
python_data = json.load(open(cookie_data_file))
print(python_data)
# 添加cookie
for cookie in python_data:
    driver.add_cookie(cookie)
# 登录成功的页面地址
driver.get("https://www.jianshu.com/")

但是有一个问题是,使用cookie登录成功之后,页面就自动关闭了,没有办法进行后续操作,关闭原因是代码自动调用了service模块的stop方法,所以想要页面不关闭,可以设置足够的等待时间(time.sleep(n))来完成后续操作。

  • 1
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要设计一个UI自动化脚本录制需求的文档,可以按照以下结构来进行编写: 1. 引言 在引言部分,介绍该文档的目的和范围。说明UI自动化脚本录制的背景和意义,以及该文档所涵盖的内容。 2. 业务需求分析 在这一部分,描述需要进行UI自动化脚本录制的具体业务场景和需求。可以列举一些常见的业务流程或功能,例如登录、注册、搜索等,以及对应的UI操作。 3. 功能需求 在功能需求部分,明确描述需要实现的功能和特性。例如: - 支持录制用户对应用程序界面的操作,包括点击、填写表单、选择下拉菜单等。 - 支持录制用户的输入数据和预期结果。 - 支持断言和验证录制脚本的正确性。 - 支持保存和加载录制脚本。 4. 非功能需求 在非功能需求部分,描述一些性能、安全和可用性等方面的需求。例如: - 支持多平台和多浏览器的录制。 - 录制脚本的执行速度应该快速。 - 录制脚本的编辑和调试操作应该友好。 - 录制脚本的结果应该具有可读性。 5. 界面设计 在界面设计部分,可以给出一些示意图或说明,描述用户界面的布局和交互。例如: - 录制按钮和停止按钮的位置和样式。 - 录制脚本列表的展示和编辑方式。 - 预览录制脚本的界面设计。 6. 数据存储和管理 在数据存储和管理部分,描述如何保存和管理录制脚本的数据。例如: - 数据库或文件系统的选择和设计。 - 录制脚本的版本管理和备份策略。 7. 风险和限制 在风险和限制部分,列出可能的风险和限制条件,并提供相应的解决方案。例如: - 录制脚本可能无法适应动态变化的UI界面,需要进行适当的处理。 - 录制脚本可能无法处理复杂的逻辑判断,需要提供额外的扩展机制。 8. 交付标准 在交付标准部分,明确定义完成UI自动化脚本录制需求的交付标准和验收标准。例如: - 完成录制脚本录制功能并通过测试用例验证。 - 提供详细的文档和演示视频。 9. 附录 在附录部分,可以提供一些补充信息和参考资料。例如: - 相关的技术文档和代码示例。 - 相关标准和规范。 以上是一个基本的UI自动化脚本录制需求设计文档的框架,根据实际需求可以进行适当的调整和扩展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值