绕过UI的cooke和token的验证

很多的网站都在登录页面加入了识别文字,识别图片,拖动拼图的验证码方式来防止爬虫、恶意注册等,如果是做自动化,需要绕过

验证码才能进入下一步操作。

方案一、测试环境去除验证码 :最轻松的方法,找开发帮忙解决。

方案二、万能验证码 (推荐): lemon, 这个也简单 和常用。推荐使用

方案三、之前接口部分讲第三方库的使用方法,收费

方案四、通过添加cookie绕过登录 绕过图片验证【UI自动化】

cookie是一门客户端技术,一般是由服务器生成返回给浏览器客户端来保存的,并且cookie是以键值对的形式保存在浏览器客户端

的,每一个cookie都会有名称,值,过期时间...用来保存少量的用户信息

Cookie有很多使用场景,在项目中比较常见的有:

  1. 登录记住用户名
  2. 记录用户浏览记录
    Cookie种类:
    1、会话cookie:保存在内存中,浏览器关闭就清除== 这种不适用。
    2、持久cookie:保存在硬盘中,失效时间到之后就会清除 ,适用于cookies的处理方式登录。
    添加cookie解决验证码思路:
    在登录某个网站,如果勾选【自动登录】,当下次再访问该网站时就自动处于登录状态。这个功能其实就是将用户信息保
    存在浏览器的cookie中,当再次访问网站时,浏览器直接使用本地保存的cookie用户信息进行登录。
    所以我们在代码中也可以将用户信息添加到cookie中,再刷新浏览器即可;
python 复制代码
import pyautogui
import pyperclip
from selenium.webdriver.common.action_chains import ActionChains
from selenium.webdriver.support.ui import Select
from selenium.webdriver.common.keys import Keys
from time import sleep
from selenium import webdriver
from selenium.webdriver.common.by import By

# 百度案例
driver = webdriver.Chrome()
driver.maximize_window()
driver.get('http://mall.lemonban.com:3344/')

#带上cookies信息
driver.add_cookie({"name":"token","value":"1276a799-80ae-4840-90ef-6eb659015d6c"})
driver.refresh()



sleep(4)
driver.quit()

cookies失效的条件:--cookies绕过技术代码就需要更新cookies值 否则不能登录。

1、手动退出登录

2、cookie已经超过有效期

注意,如果cookies失效 就需要重新获取cookies。

如果你们的项目cookies键值对存在多个cookies,add_cookies 也可以加多个:

driver.add_cookies({}) --第一个cookies

driver.add_cookies({}) --第二个cookies

相关推荐
界面开发小八哥8 小时前
DevExtreme Angular UI控件更新:引入全新严格类型配置组件
前端·ui·界面控件·angular.js·devexpress
眠りたいです11 小时前
Qt音频播放器项目实践:文件过滤、元数据提取与动态歌词显示实现
c++·qt·ui·音视频·媒体·qt5·mime
Jerry说前后端1 天前
Android 移动端 UI 设计:前端常用设计原则总结
android·前端·ui
传奇开心果编程1 天前
【传奇开心果系列】Flet框架实现的家庭记账本示例自定义模板
python·学习·ui·前端框架·自动化
公众号【林东笔记】获取资料2 天前
Adobe Photoshop 2024:软件安装包分享和详细安装教程
ui·adobe·photoshop
全栈软件开发2 天前
PHP域名授权系统网站源码_授权管理工单系统_精美UI_附教程
开发语言·ui·php·php域名授权·授权系统网站源码
John_ToDebug4 天前
深入解析 Chrome UI 布局配置的设计思想与实现机制
chrome·ui
代码小念4 天前
Pytest+selenium UI自动化测试实战实例(超详细)
selenium·ui·pytest
Aczone285 天前
Linux Framebuffer(帧缓冲)与基本 UI 绘制技术
linux·运维·ui