Selenium3+python自动化013-操作浏览器的Cookie

为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用。

一、操作浏览器的Cookie

 

1.1、验证码的处理方式

 说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式;

方式:
1). 去掉验证码(测试环境下-采用)
2). 设置万能验证码(生产环境-采用)
3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
4). 记录cookie(通过记录cookie进行登录-推荐)

 

1. 去掉验证码、设置万能验证码:太简单都是开发来完成,我们在这里不做讲解
2. 验证码识别技术:成功率不高,验证码种类繁多,不太适合;
3. 记录cookie:比较实用,我们对它进行下讲解;

 

1.2、Cookie处理流程

 

步骤顺序需要注意:
1.先打开页面
2.添加cookie
3.刷新页面

使用Cookie验证

 

cookie:
1. Cookie是一小段的文本信息;格式:python中的字典(键值对组成)
2. Cookie产生:客户端请求服务器,如果服务器需要记录该用户状态,就向客户端浏览器颁发一个Cookie格式
3. Cookie使用:当浏览器再请求该网站时,浏览器把请求的网址连同该Cookie一同提交给服务器,服务器检查该Cookie,以此来辨认用户状态。

 

二、加载浏览器指定配置文件(可简单理解为浏览器里的标签),安装已经安装好的插件,记录用户的登录状态

打开浏览器:输入chrome://version/,查看个人资料路径,我的如下:

个人资料路径 C:\Users\Administrator.PC-20181218JDBK\AppData\Local\Google\Chrome\User Data\Default

4.1、加载已安装插件

4.2、记住用户登录状态

注意:需要保证没有chrome浏览器正在打开,否则运行报错
复制代码
 1 from selenium import webdriver
 2 from time import sleep
 3 '''
 4 注意:需要保证没有chrome浏览器正在打开,否则运行报错
 5 '''
 6 
 7 # 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘\Default’)
 8 profile_directory = r'--user-data-dir=C:\Users\Administrator.PC-20181218JDBK\AppData\Local\Google\Chrome\User Data'
 9 # 加载配置数据
10 option = webdriver.ChromeOptions()
11 option.add_argument(profile_directory)
12 # 启动浏览器配置
13 driver = webdriver.Chrome(chrome_options=option)
14 driver.get('https://www.baidu.com')
使用谷歌浏览器
复制代码

 使用火狐浏览器

 

posted @   思江  阅读(503)  评论(0编辑  收藏  举报
编辑推荐:
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· Vue3状态管理终极指南:Pinia保姆级教程
点击右上角即可分享
微信分享提示