Webdriver 读取、添加、删除cookie信息基本用法

  • 获得Cookie信息:driver.get_cookies()
  • 添加Cookie信息:driver.add_cookie(cookie_dict)
  • 删除特定Cookie:delete_cookie(name)
  • 删除所有Cookie:delete_all_cookies()

实例演示WebDriver Cookie操作

#!/usr/bin/env python
# -*- coding: utf-8 -*- from selenium import webdriver driver = webdriver.Chrome() driver.get("http://www.baidu.com") # 获取所有Cookie
cookies = driver.get_cookies()
print("打开百度首页后获取所有Cookie:%s" % cookies) # 删除所有Cookie值
driver.delete_all_cookies()
print("删除所有Cookie后获取所有Cookie:%s" % driver.get_cookies()) # 添加Cookie
driver.add_cookie({'name': 'user', 'value': 'ptqa'})
driver.add_cookie({'name': 'from', 'value': ''})
print("添加Cookie后,获取所有Cookie:%s " % driver.get_cookies()) # 获取特定Cookie
user = driver.get_cookie("user")
print("添加Cookie后,获取对应特定Cookie对象:%s " % user)
if user:
print("添加Cookie后,获取对应特定Cookie的键值:%s->%s " % (user["name"], user["value"])) # 删除特定Cookie
driver.delete_cookie("user")
print("删除特定Cookie user后,查看所有Cookie:%s" % driver.get_cookies()) driver.close()

运行输出结果如

打开百度首页后获取所有Cookie:[{'secure': False, 'name': 'H_PS_PSSID', 'domain': '.baidu.com', 'path': '/', 'httpOnly': False, 'value': '1453_21085_23384_20930'}, {'expiry': 3652321614.105473, 'secure': False, 'name': 'BAIDUID', 'domain': '.baidu.com', 'path': '/', 'httpOnly': False, 'value': 'D99013DD2F470724CC4CDDE361CD7606:FG=1'}, {'expiry': 3652321614.105604, 'secure': False, 'name': 'PSTM', 'domain': '.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}, {'expiry': 3652321614.10557, 'secure': False, 'name': 'BIDUPSID', 'domain': '.baidu.com', 'path': '/', 'httpOnly': False, 'value': 'D99013DD2F470724CC4CDDE361CD7606'}, {'expiry': , 'secure': False, 'name': 'BD_UPN', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}, {'expiry': 1504837968.105635, 'secure': False, 'name': 'BD_LAST_QID', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}, {'secure': False, 'name': 'BD_HOME', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}]
删除所有Cookie后获取所有Cookie:[]
添加Cookie后,获取所有Cookie:[{'expiry': , 'secure': False, 'name': 'user', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': 'ptqa'}, {'expiry': , 'secure': False, 'name': 'from', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}]
添加Cookie后,获取对应特定Cookie对象:{'expiry': , 'secure': False, 'name': 'user', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': 'ptqa'}
添加Cookie后,获取对应特定Cookie的键值:user->ptqa
删除特定Cookie user后,查看所有Cookie:[{'expiry': , 'secure': False, 'name': 'from', 'domain': 'www.baidu.com', 'path': '/', 'httpOnly': False, 'value': ''}]

***微信扫一扫,关注“python测试开发圈”,了解更多测试教程!***

Selenium with Python 007 - Cookie处理的更多相关文章

  1. Selenium + PhantomJS + python 简单实现爬虫的功能

    Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDrive ...

  2. selenium webdriver (python) 第二版

    前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...

  3. selenium webdriver (python)2

    selenium webdriver (python) 第二版 前言  对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...

  4. selenium webdriver (python)大全

    webdriver的简介 硒2.0的主要新功能是集成的webdriver的API.webdriver的设计除了解决一些seleniumr-RC API的一些限制,与webdriver 的整合,将提供一 ...

  5. Selenium基于Python 进行 web 自动化测试

    配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...

  6. 【转】Selenium WebDriver + Python 环境

    转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...

  7. selenium webdriver (python) 第三版

    感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...

  8. Selenium WebDriver + Python 环境配置

    1.   下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...

  9. Python中Cookie的处理(一)Cookie库

    Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理.要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头: Set-Cookie:session= ...

随机推荐

  1. django ORM 批量操作:批量插入bulk_create

    django批量create数据:bulk_create(list实例) 项目中看到这样一句 models.表名.objects.using('数据库名').bulk_create(list实例) 其 ...

  2. JS产品分类列表练习

    CSS: ;;} ul,li{list-style: none;} body{color: #666;background: #f5f5f5;} a{text-decoration: none;col ...

  3. Java 连接池的工作原理(转)

    原文:Java 连接池的工作原理 什么是连接? 连接,是我们的编程语言与数据库交互的一种方式.我们经常会听到这么一句话“数据库连接很昂贵“. 有人接受这种说法,却不知道它的真正含义.因此,下面我将解释 ...

  4. 001-es6变量声明、解构赋值、解构赋值主要用途

    一.基本语法 1.1.声明变量的六种方法 参看地址:http://es6.ruanyifeng.com/#docs/let let:局部变量,块级作用域,声明前使用报错 var:全局变量,声明前使用 ...

  5. django 中的视图(Views)

    Views Django中views里面的代码就是一个一个函数逻辑, 处理客户端(浏览器)发送的HTTPRequest, 然后返回HTTPResponse, http请求中产生两个核心对象: http ...

  6. 关于source insight、添加.s和.S文件,显示全部路径、加入项目后闪屏幕

    1.source insight使用也有一年多时间了,今天出现建工程后添加文件“no files found” 百思不得姐: 后面发现是原工程命名时出现非法字符.重新命名就ok了. 切记切记 2.实用 ...

  7. vue自定义全局和局部指令

    一.介绍 1.除了核心功能默认内置的指令 (v-model 和 v-show),Vue 也允许注册自定义指令. 2.自定义指令的分类       1.全局指令 2.局部指令 3.自定义全局指令格式 V ...

  8. github使用ssh秘钥的好处以及设置(转)

    git使用https协议,每次pull,push都要输入密码,使用git协议,使用ssh秘钥,可以省去每次输密码 大概需要三个步骤:一.本地生成密钥对:二.设置github上的公钥:三.修改git的r ...

  9. windows8系统安装MongoDB 2.6.3配置服务启动

    转自:http://winfan.net/655.html 1. 下载mongodb包2. 解压zip至 D:\MongoDB3. 创建目录 D:\MongoDB\data\db4. 创建日志目录 D ...

  10. JAVA寄存器

    所有进程都使用寄存器,Java虚拟机使用下列寄存器管理系统堆栈:    程序记数寄存器:跟踪程序执行的准确位置    堆栈指针寄存器:指示操作栈项    框架寄存器:指向当前执行的环境    变量寄存 ...