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:
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浏览器正在打开,否则运行报错
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')
使用谷歌浏览器
使用火狐浏览器
Selenium3+python自动化013-操作浏览器的Cookie的更多相关文章
- selenium+python自动化之操作浏览器
一.打开网站 1.第一步:从selenium里面导入webdriver模块 2.打开Firefox浏览器(Ie和Chrome对应下面的) 3.打开百度网址 二.设置休眠 1.由于打开百度网址后,页面加 ...
- Selenium3+python自动化008-操作浏览器基本方法
一.打开网站1.第一步:从selenium里面导入webdriver模块2.打开Firefox浏览器(Ie和Chrome对应下面的)3.打开百度网址二.页面刷新1.有时候页面操作后,数据可能没及时同步 ...
- Python3+Selenium2完整的自动化测试实现之旅(四):Selenium-webdriver操作浏览器、Cookie、鼠标键盘、警示框、设置等待时间、多窗口切换
本篇学习总结webdriver模块操作浏览器.Cookie.鼠标键盘.警示框.设置等待时间.多窗口切换等方法的使用 1 浏览器控制 Selenium-webdriverAPI提供了对页面元素定位 ...
- selenium3+python自动化50-环境搭建(firefox)
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodri ...
- selenium3+python自动化50-环境搭建(firefox)【转载】
前言 有不少小伙伴在安装selenium环境后启动firefox报错,因为现在selenium升级到3.0了,跟2.0的版本还有有一点区别的. 安装环境过程中主要会遇到三个坑: 1.'geckodri ...
- python自动化--模块操作之re、MySQL、Excel
一.python自有模块正则 import re # re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,函数返回None print(re.match("www ...
- Selenium3+python自动化008-常用操作
一.元素常用操作 1. clear() 清除文本 2. send_keys() 模拟输入 3. click() 单击元素 4.get_attr ...
- Selenium3+python自动化009- js之屏幕滑动和日历操作
一.js的滑屏 1)以下脚本实现js滑屏scroll="document.documentElement.scrollTop=800"#垂直滚动 pxscroll = " ...
- web端自动化——Selenium3+python自动化(3.7版本)-火狐62版本环境搭建
前言 目前selenium版本已经升级到3.0了,网上的大部分教程是基于2.0写的,所以在学习前先要弄清楚版本号,这点非常重要.本系列依然以selenium3为基础. 一.selenium简介 Sel ...
随机推荐
- 11种常用css样式之表格和定位样式学习
table表格中border-collapse: collapse;/*表格边框是否合并*/border-spacing: 10px;/*表格边框之间的距离*/定位详情可以阅读position属性值4 ...
- MySQL保存微信昵称中的特殊符号造成:(Incorrect string value: "xxxx'for column ‘name’ at row 1)异常
今天有业务员反应,编辑某个用户的信息的时候出现了异常,异常信息如下: Incorrect string value: "xFOx9Fx92x9D vxE6..'f or column 'na ...
- TampeMonkey 关于 youtube的两个插件
一个是 Video Speed Buttons 负责调速 一个是 YouTube Links 负责下载不同分辨率的视频
- Navicat Premium 12永久激活
参考:https://baijiahao.baidu.com/s?id=1644169351506023288&wfr=spider&for=pc 百度网盘:https://pan.b ...
- 两行配置完全解放gradle编译慢问题
Android Studio编译经常出现gradle编译缓慢甚至超时问题,抛开电脑硬件配置不说,主要问题还是国内网络环境的因素影响,可以通过修改项目根目录下的build.gradle文件如下: bui ...
- java面试必问问题总结
1. 自我介绍 2. get跟load的区别 3. 什么是重载,什么是重写 4. HashTable跟HashMap的区别 5. Jsp九大隐式对象 6. Forword和redirect 的区别 7 ...
- P1028 数的计算( 记忆剪枝 )
题目描述 我们要求找出具有下列性质数的个数(包含输入的自然数 n ): 先输入一个自然数 n(n≤1000),然后对此自然数按照如下方法进行处理: 不作任何处理; 在它的左边加上一个自然数,但该自然数 ...
- [大数据技术]datax的安装以及使用
1.datax简述 DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL.Oracle.SqlServer.Postgre.HDFS.Hive.ADS.HBase.Ta ...
- Java 运行报错:不支持发行版本 5
解决方案: 第一步:在Intellij中点击“File” -->“Project Structure”,看一下“Project”和“Module”栏目中Java版本是否与本地一致: 第二步:点击 ...
- 【easyui】treegrid逐级加载源码
当初看这源码的目的是: 1.treegrid是怎么实现逐级加载树结构的. 解: 见demo,主要就是点击节点的时候会请求后台. 2.treegrid加载后,第二次展开节点会不会再次请求后台. 解:第二 ...