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:UsersAdministrator.PC-20181218JDBKAppDataLocalGoogleChromeUser DataDefault

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:UsersAdministrator.PC-20181218JDBKAppDataLocalGoogleChromeUser 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')
使用谷歌浏览器

 使用火狐浏览器

原文地址:https://www.cnblogs.com/liunaixu/p/11158937.html