为什么要用Cookie?在测试多个页面时候可绕过验证码输入,直接添加cookie,也可以在添加唯一标识时候使用。
一、操作浏览器的Cookie
1.1、验证码的处理方式
说明:WebDriver类库中没有对验证码处理的方法,但是在这里可以叙说下针对验证码的几种常用处理方式。
1). 去掉验证码(测试环境下-采用)
2). 设置万能验证码(生产环境-采用)
3). 验证码识别技术(通过Python-tesseract来识别图片类型验证码;识别率很难达到100%)
4). 记录cookie(通过记录cookie进行登录-推荐)
其中去掉验证码、设置万能验证码太简单都是开发来完成,我们在这里不做讲解;验证码识别技术成功率不高,验证码种类繁多,不太适合;记录cookie比较实用,我们对它进行下讲解。
1.2、Cookie处理流程
步骤顺序需要注意:
1.先打开页面
2.添加cookie
3.刷新页面
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
记住用户登录状态
注意:需要保证没有chrome浏览器正在打开,否则运行报错。
from selenium import webdriver
from time import sleep
'''
注意:需要保证没有chrome浏览器正在打开,否则运行报错
'''
# 个人资料路径(chrome://version/,查看个人资料路径,去掉最后的‘\Default’)
profile_directory = r'--user-data-dir=C:\Users\Administrator.PC-20181218JDBK\AppData\Local\Google\Chrome\User Data'
# 加载配置数据
option = webdriver.ChromeOptions()
option.add_argument(profile_directory)
# 启动浏览器配置
driver = webdriver.Chrome(chrome_options=option)
driver.get('https://www.baidu.com')
本文内容不用于商业目的,如涉及知识产权问题,请权利人联系51Testing小编(021-64471599-8017),我们将立即处理