Selenium with Python 007 - Cookie处理
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处理的更多相关文章
- Selenium + PhantomJS + python 简单实现爬虫的功能
Selenium 一.简介 selenium是一个用于Web应用自动化程序测试的工具,测试直接运行在浏览器中,就像真正的用户在操作一样 selenium2支持通过驱动真实浏览器(FirfoxDrive ...
- selenium webdriver (python) 第二版
前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发人员智商低,是国内的大多测试岗位是功能测试为主,在工作时间中,我们 ...
- selenium webdriver (python)2
selenium webdriver (python) 第二版 前言 对于大多软件测试人员来讲缺乏编程经验(指项目开发经验,大学的C 语言算很基础的编程知识)一直是难以逾越的鸿沟,并不是说测试比开发 ...
- selenium webdriver (python)大全
webdriver的简介 硒2.0的主要新功能是集成的webdriver的API.webdriver的设计除了解决一些seleniumr-RC API的一些限制,与webdriver 的整合,将提供一 ...
- Selenium基于Python 进行 web 自动化测试
配置使用环境 下载相应的浏览器驱动, Firefox 是默认的 本文以 chrome 为主 ,放在scripts目录下ChromeDriver 官方下载地址 : 所有版本的 ChromeDriver ...
- 【转】Selenium WebDriver + Python 环境
转自:http://www.myext.cn/webkf/a_11878.html 1. 下载必要工具及安装包 1.1 [Python开发环境] 下载并安装Python 2.7.x版本 下载地址:ht ...
- selenium webdriver (python) 第三版
感谢 感谢购买第二版的同学,谢谢你们对本人劳动成果的支持!也正是你们时常问我还出不出第三版了,也是你们的鼓励,让我继续学习整理本文档. 感谢乙醇前辈,第二版的文档是放在他的淘宝网站上卖的,感谢他的帮忙 ...
- Selenium WebDriver + Python 环境配置
1. 下载必要工具及安装包 1.1.[Python开发环境] 下载并安装Python 2.7.x版本(当前支持2.x版本,不要下载最新的3.X的版本因为python3并非完全兼容python2) ...
- Python中Cookie的处理(一)Cookie库
Cookie用于服务器实现会话,用户登录及相关功能时进行状态管理.要在用户浏览器上安装cookie,HTTP服务器向HTTP响应添加类似以下内容的HTTP报头: Set-Cookie:session= ...
随机推荐
- jd算法大赛 一个user_id只需映射到一个sku_id, 但是一个sku_id能否映射到多个user_id
0-购买预测 w 任务目标 提交user_id-->sku_id (1->1,但反向呢?) 实际操作: 0- 行为表中的type值加权为一个购买意向值0(性别.年龄,不干扰/或加权) 品类 ...
- vue-cli注册全局组件
在main.js开头引入组件,然后注册组件,例如: import Vue from 'vue' import VueRouter from 'vue-router' import VueResourc ...
- 初级学IP地址
IP地址是我们上网的凭证!通过IP地址的学习.能够对网络拓扑结构有一个简单的认识,以及对网络的传递过程进行初步了解. 传输数据简单认识 网络中传播的数据是以数据包的形式存在的! 当中包括着目的IP地址 ...
- 基于视觉反馈的步进电机X-Y平台控制
关键词:步进电机.XY平台.视觉反馈 用途:工业自动化 文章类型:原理介绍.随笔纪念 @Author:VShawn(singlex@foxmail.com) @Date:2017-05-01 @Lab ...
- Java io流详解二
原文地址https://www.cnblogs.com/xll1025/p/6418766.html 一.IO流概述 概述: IO流简单来说就是Input和Output流,IO流主要是用来处理设备之间 ...
- Java中String.valueOf、toString、(String)的区别
原文地址http://blog.csdn.net/yangzhaomuma/article/details/51173138 原文地址https://www.cnblogs.com/xhyouyou/ ...
- Windows Live Writer 网易博客配置
一.去官网下载 Windows Live Write 组件 二.配置,选中其它服务,然后会到如下界面 主要是这里经常不知道选择什么,容易忘记. 下拉框选中metaweblog API 类型,把这个地址 ...
- Linux开发工具教程
今天把上个星期写的Linux开发工具相关的教程整理一下,方便阅读: 1.第一课 GCC入门: 2.第二课 GCC入门之静态库以及共享库: 3.第三课 Makefile文件的制作(上) : 4.第四课 ...
- 【Flask】Flask常用信号
使用信号分为3步,第一是定义一个信号,第二是监听一个信号,第三是发送一个信号. 1. 定义信号:定义信号需要使用到blinker这个包的Namespace类来创建一个命名空间.比如定义一个在访问了某个 ...
- SVN使用—高级用法
一.SVN分支 Branch 选项会给开发者创建出另外一条线路.当有人希望开发进程分开成两条不同的线路时,这个选项会非常有用. 情景: 比如项目 demo 下有两个小组,svn 下有一个 trunk ...