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 ...
随机推荐
- windows7安装.NET Framework 4.5.2 框架(迅雷下载链接)
.NET Framework 4.5.2 框架 数据库安装windows7安装mysql时需要 迅雷下载链接: https://download.microsoft.com/download/E/2/ ...
- ELK学习001:Elastic Stack简介
ELK简介: ELK Stack:ELK是Elasticsearch.Logstash.Kibana的缩写简称,这三者都是开源软件.ELK是5.0版本前的统称:这是一套统一的日志收集分析系统.它能够方 ...
- 安装nanomsg
xftp上传nanomsg安装包 1.解压安装包tar -xvf nanomsg-1.1.0.tar 进入目录cd nanomsg-1.1.0新建安装目录(在nanomsg-1.1.0目录下)mkdi ...
- 一个最简单的Dockfile实践
一:一个Dockerfile文件 FROM bash COPY . /usr/jinliang/ WORKDIR /usr/jinliang/ CMD [ "sh", " ...
- Javaweb项目中修改表单时数据回显方法
1.前言 先来说下什么是数据回显,比如我要修改我的个人信息,点击修改按钮后进入修改界面,在这个界面中直接将原来的信息显示在表单中,而不是空表单,这就是数据回显 2.思路 当点击修改的时候,从数据库中查 ...
- mac 15 IDA7.0 下载安装
吾爱破解上有相应的解决办法,在低版本mac上安装完成后,直接拖到15版本,再打上补丁,补丁可以自己去找,下面是转好了的,mac解压最好不要用自带的解压软件,用BetterZip试试,不行就多解压几次, ...
- python—lambda函数,三个常用的高阶函数
"""lambda 参数列表 : 返回值lambda 参数形式: 1.无参数:lambda:100 2.一个参数:lambda a: a 3.默认参数:lambda a, ...
- .Net Core程序最终只产生1个exe
1.用VS新建一个.Net Core 命令行程序,程序里面写什么都行,我的是这样的 2.打开程序包控制台,或者使用PowerShell等可以执行dotnet命令的工具,把你的.Net 程序发布(编译) ...
- opencv —— boxFilter、blur、GaussianBlur、medianBlur、bilateralFilter 线性滤波(方框滤波、均值滤波、高斯滤波)与非线性滤波(中值滤波、双边滤波)
图像滤波,指在尽量保留图像细节特征的条件下对目标图像的噪声进行抑制,是图像与处理中不可缺少的操作. 邻域算子,指利用给定像素及其周围的像素值,决定此像素的最终输出值的一种算子.线性邻域滤波器就是一种常 ...
- Mybatis和Hibernate面试问题及答案
1.@Qualifier 注解 答:当有多个相同类型的bean却只有一个需要自动装配时,将@Qualifier 注解和@Autowire 注解结合使用以消除这种混淆,指定需要装配的确切的bean. ...