python自动获取cookie_selenium3+python自动化12-cookie相关操作(获取和删除)

前言

在进行接口测试或者自动化测试时,有时就要登录好多次,特别麻烦,那能不能不要一遍一遍输入账号,直接跳过登录页面进行操作。这个时候就要用到cookie,这次主要整理cookie的一些操作,包含获取cookie、删除cookie。

题外话,今天去公司办理辞职手续,遇到一个无赖公司真的让人头大又无语。好多小公司都抗不过这次的疫情,看似就业形势不好,但是是挑战也是机遇。建议换工作时,条件允许的情况下,在职状态下寻找下家,最好找一个大公司,可靠正规一点。

一、获取cookies:get_cookies()

1.获取cookies直接的方法是:get_cookies()

2.以自己电脑上个的一个OA网站为例,先打开浏览器,获取cookies,打印出来发现是空的:[ ]

3.输入网址后,获取cookies,打印出来是有值的

4.输入账号和密码后,登录系统,获取cookies,打印出来跟之前获取的有点不一样

二、获取指定name的cookie值:get_cookie(name)

1.get_cookies()获取到许多的cookie,但是只想获取其中的一个cookie值,那就用到get_cookie(name)

2.指定对应的cookie的name值就行

三、删除所有cookies:delete_all_cookies()

1.删除所有cookies,获取的cookies为空,刷新页面后,退出登录状态。

四、删除指定name的cookie:delete_cookie(name)

1.最后一个获取的cookies列表中就不包含已经删除的cookie

2.按照原作者的博文讲解,理应刷新页面后登录失效,变成未登录状态,但是尝试了好几遍都是在登录状态,用排除法进行原因查找,发现只有删除掉name为“JSESSIONID”的cookie值后,才退出登录页面,删除其他cookie就一直在登录页面。但是“JSESSIONID”的cookie在输入网址后就存在了,又不是登录后的cookie。(这里自己没有搞明白)

五、参考代码

1 from selenium importwebdriver2 from time importsleep3 driver=webdriver.Chrome()4 #启动浏览器获取cookies

5 print(driver.get_cookies())6 driver.get('http://127.0.0.1:8080/oa/')7 #打开主页后获取cookies

8 print(driver.get_cookies())9 #登录后获取cookies

10 loginInputs=driver.find_elements_by_class_name('loginInput')11 loginInputs[0].send_keys('wangd')12 loginInputs[1].send_keys('w1234567')13 driver.find_element_by_id('button_submit').click()14 sleep(2)15 print(driver.get_cookies())16

17 #获取指定cookie

18 print(driver.get_cookie(name='Cookie_Lang_OA'))19

20 ##删除指定cookie

21 #driver.delete_cookie(name='LoginId_OA')

22 driver.delete_cookie(name='Cookie_Lang_OA')23 #driver.delete_cookie(name='JSESSIONID')

24 print(driver.get_cookies())25 #刷新验证

26 driver.refresh()27

28 ##删除所有cookies

29 #driver.delete_all_cookies()

30 #print(driver.get_cookies())

31 #driver.refresh()

32

33 sleep(2)34 driver.quit()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/266214.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Hibernate(三) - hibernate 表操作-多对多配置

Hibernate 的一对多关联映射 之前在学习 Hibernate 的时候,其实都是单表的操作。在实际的开发当中,比如做一个商城,就需要好多张数据库表,表与表之间是有关系的。之前些做一些关联查询或者是一些基本的查询操作的时候,…

linux怎么用命令备份数据库,使用linux的mysqlhotcopy命令备份数据库

使用linux的mysqlhotcopy命令备份数据库发布时间:2020-07-22 11:18:37来源:亿速云阅读:66作者:清晨栏目:服务器这篇文章将为大家详细讲解有关使用linux的mysqlhotcopy命令备份数据库,小编觉得挺实用的&…

全国计算机等级考试题库二级C操作题100套(第83套)

第83套: 给定程序中,函数fun的功能是:找出100至x(x≤999)之间各位上的数字之和为15的所有整数,然后输出;符合条件的整数个数作为函数值返回。 例如,当n值为500时,各位数…

vb treeview 展开子节点_详解最长公共子序列问题,秒杀三道动态规划题目

学算法认准 labuladong后台回复进群一起力扣?读完本文,可以去力扣解决如下题目:1143.最长公共子序列(Medium)583. 两个字符串的删除操作(Medium)712.两个字符串的最小ASCII删除和(Medium)好久没写动态规划算法相关的文章了,今天来搞一把。不…

TZOJ 4621 Grammar(STL模拟)

描述 Our strings only contain letters(maybe the string contains nothing). Now we define the production as follows: 1. (C) --> C 2. C --> C 3. (C:num)-->repeat C num times. Illustration: (C) or C stands for a string only contains letters. (C:num) m…

[链接]Python中的metaclass、装饰器

深刻理解Python中的元类(metaclass) Python装饰器学习(九步入门)

linux查看数据积压,查看kafka消息队列的积压情况

创建topickafka-topics --create --zookeeper master:2181/kafka2 --replication-factor 2 --partitions 3 --topic mydemo5列出topickafka-topics --list --zookeeper master:2181/kafka2描述topickafka-topics --describe --zookeeper master:2181/kafka2 --topic mydemo5生产…

全国计算机等级考试题库二级C操作题100套(第84套)

第84套: 函数fun的功能是:从三个形参a,b,c中找出中间的那个数,作为函数值返 回。 例如,当a3, b5, c4时,中数为4。 请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。 注…

python 三引号_Python 基础(一):入门必备知识

目录1 标识符2 关键字3 引号4 编码5 输入输出6 缩进7 多行8 注释9 数据类型10 运算符10.1 常用运算符10.2 运算符优先级1 标识符标识符是编程时使用的名字,用于给变量、函数、语句块等命名,Python 中标识符由字母、数字、下划线组成,不能以数…

排序算法:冒泡和快排 摘自网络

冒泡排序: 首先我们自己来设计一下“冒泡排序”,这种排序很现实的例子就是: 我抓一把沙仍进水里,那么沙子会立马沉入水底, 沙子上的灰尘会因为惯性暂时沉入水底,但是又会立马像气泡一样浮出水面&#xff0c…

镭波笔记本安装linux,镭波笔记本windows7旗舰版系统下载与安装教程

镭波笔记本windows7旗舰版系统下载地址以及安装教程有很多盆友询问,今天,我就将镭波电脑下载安装win7旗舰版系统的详细步骤分享给你们,一起来了解一下镭波电脑是如何安装windows7旗舰版。镭波笔记本Windows7旗舰版系统下载:64位Windows7旗舰版…

全国计算机等级考试题库二级C操作题100套(第85套)

第85套: 给定程序的功能是调用fun函数建立班级通讯录。通讯录中记录每位学生的编号、姓名和电话号码。班级的人数和学生的信息从键盘读入,每个人的信息作为一个数据块写到名为myfile5.dat的二进制文件中。 请在程序的下划线处填入正确的内容并把下划线删除&#xf…

使用泛型解决之前的问题

package fanxing; /* * 使用泛型解决之前的问题 */ import java.util.ArrayList;import java.util.Iterator;import java.util.LinkedList; public class TestGeneric02 { public static void main(String[] args) { LinkedList<Integer> list new LinkedList<>()…

python中文姓名排序_Python实现针对中文排序的方法

本文实例讲述了Python实现针对中文排序的方法。分享给大家供大家参考&#xff0c;具体如下&#xff1a;Python比较字符串大小时&#xff0c;根据的是ord函数得到的编码值。基于它的排序函数sort可以很容易为数字和英文字母排序&#xff0c;因为它们在编码表中就是顺序排列的。但…

网站数据库中“密码加密”方法思考

博主&#xff0c;开始时候&#xff0c;写的web应用&#xff0c;数据库中的密码&#xff0c;都是直接保存的。真正的原汁原味&#xff0c;真正的所见即所得。 后来&#xff0c;看了别人的web应用都是MD5加密的&#xff0c;感觉很不错&#xff0c;自己也在应用中加入了MD5加密&am…

linux运维和3dmax哪个简单,牛逼运维常用的工具系列-2

劳动最光荣nmonnmon是linux性能监视和分析数据的工具&#xff0c;它的安装很简单&#xff0c;下载解压后&#xff0c;添加可执行权限&#xff0c;即可运行下载解压后&#xff0c;通过文件名可以发现&#xff0c;是多个发行版本的&#xff0c;根据自己的发行版本&#xff0c;然后…

全国计算机等级考试题库二级C操作题100套(第86套)

第86套&#xff1a; 甲乙丙丁四人同时开始放鞭炮&#xff0c;甲每隔t1秒放一次&#xff0c;乙每隔t2秒放一次, 丙 每隔t3秒放一次&#xff0c;丁每隔t4秒放一次&#xff0c;每人各放n次。函数fun的功能是根据形参 提供的值&#xff0c;求出总共听到多少次鞭炮声作为函数值返回…

语义分割和实例分割_语义分割入门的一点总结

点击上方“CVer”&#xff0c;选择加"星标"或“置顶”重磅干货&#xff0c;第一时间送达作者&#xff1a;Yanpeng Sunhttps://zhuanlan.zhihu.com/p/74318967本文已由作者授权&#xff0c;未经允许&#xff0c;不得二次转载语义分割目的&#xff1a;给定一张图像&…

【转载】什么是C++虚函数、虚函数的作用和使用方法

我们知道&#xff0c;在同一类中是不能定义两个名字相同、参数个数和类型都相同的函数的&#xff0c;否则就是“重复定义”。但是在类的继承层次结构中&#xff0c;在不同的层次中可以出现名字相同、参数个数和类型都相同而功能不同的函数。例如在例12.1&#xff08;具体代码请…

linux 音频驱动的流程,Intel平台下Linux音频驱动流程分析

【软件框架】在对要做的事情一无所知的时候&#xff0c;从全局看看系统的拓扑图对我们认识新事物有很大的帮助。Audio 部分的驱动程序框架如下图所示&#xff1a;这幅图明显地分为 3 级。上方蓝色系的 ALSA Kernel 整体属于Linux Kernel&#xff0c;是原生Linux 操作系统的一部…