Python+Selenium学习--cookie处理
场景
有时候我们需要验证浏览器中是否存在某个cookie,因为基于真实的cookie 的测试是无法通过白盒和集成测试完成的。webdriver 可以读取、添加和删除cookie 信息。
webdriver 操作cookie 的方法有:
- get_cookies() 获得所有cookie 信息
- get_cookie(name) 返回特定name 有cookie 信息
- add_cookie(cookie_dict) 添加cookie,必须有name 和value 值
- delete_cookie(name) 删除特定(部分)的cookie 信息
- delete_all_cookies() 删除所有cookie 信息
通过webdriver 操作cookie 是一件非常有意思的事儿,有时候我们需要了解浏览器中是否存在了某个cookie 信息,webdriver 可以帮助我们读取、添加,删除cookie 信息。
打印cookie信息
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 打印cookie信息.py
@time: 2018-09-26 17:07
@desc:
'''
from selenium import webdriver
import time driver = webdriver.Firefox()
#添加智能等待
driver.implicitly_wait(10) driver.get('https://www.baidu.com/')
cookie=driver.get_cookies() print(cookie)
time.sleep(5) driver.quit()
运行结果(只显示部分):
[{'domain': '.baidu.com', 'name': 'BAIDUID', 'expiry': 3685436562, 'secure': False, 'value': '687F30EFAD1767D5CAFE6165CD09633E:FG=1', 'httpOnly': False, 'path': '/'},]
对cookie操作
#!/usr/bin/env python
# -*- codinfg:utf-8 -*-
'''
@author: Jeff LEE
@file: 对cookie操作.py
@time: 2018-09-26 17:15
@desc:
'''
from selenium import webdriver
import time driver = webdriver.Firefox()
#添加智能等待
driver.implicitly_wait(10) driver.get('http://cnblogs.com/uniquefu')
cookie=driver.get_cookies() #向cookie 的name 和value 添加会话信息。
driver.add_cookie({'name':'uniquefu', 'value':'abby'})
#遍历cookies 中的name 和value 信息打印,当然还有上面添加的信息
for cookie in driver.get_cookies():
print ("%s -> %s" % (cookie['name'], cookie['value'])) ##### 下面可以通过两种方式删除cookie #####
# 删除一个特定的cookie
driver.delete_cookie("uniquefu") for cookie in driver.get_cookies():
print ("%s -> %s" % (cookie['name'], cookie['value']))
# 删除所有cookie
driver.delete_all_cookies() time.sleep(2)
driver.close()
运行结果:
_ga -> GA1.2.726951498.1537953532
_gid -> GA1.2.1240774999.1537953532
_gat -> 1
uniquefu -> abby #增加的
_ga -> GA1.2.127790903.1537953681
_gid -> GA1.2.685015195.1537953681
_gat -> 1
Python+Selenium学习--cookie处理的更多相关文章
- 【python+selenium学习】Python常见错误之:IndentationError: unexpected indent
初入python+selenium学习之路,总会遇到这样那样的问题.IndentationError: unexpected indent,这个坑我已经踏进数次了,索性记录下来.都知道Python对代 ...
- Python+Selenium学习--自动化测试模型
前言 一个自动化测试框架就是一个集成体系,在这一体系中包含测试功能的函数库.测试数据源.测试对象识别标准,以及种可重用的模块.自动化测试框架在发展的过程中经历了几个阶段,模块驱动测试.数据驱动测试.对 ...
- python+selenium操作cookie
WebDriver提供了操作Cookie的相关方法,可以读取.添加和删除cookie信息. WebDriver操作cookie的方法: get_cookies(): 获得所有cookie信息. get ...
- Python+Selenium学习笔记15 - 读取txt和csv文件
读取txt的内容并用百度查找搜索 1 # coding = utf-8 2 3 from selenium import webdriver 4 import time 5 6 # 打开浏览器 7 d ...
- python + selenium 学习笔记 -摘要
一.浏览器操作相关 from selenium import webdriver driver = webdriver.Chrome() driver.maximize_window() # 窗口最大 ...
- web自动化测试python+selenium学习总结----selenium安装、浏览器驱动下载
一.安装selenium 命令安装selenium库 :pip install -U selenium 查看selenium是否安装成功:pip list PS:有时会有异常,安装失败,可以尝试去s ...
- Python+Selenium学习--自动生成HTML测试报告
前言 在脚本运行完成之后,除了在log.txt 文件看到运行日志外,我们更希望能生一张漂亮的测试报告来展示用例执行的结果. HTMLTestRunner 是Python 标准库的unit ...
- Python+Selenium学习--异常截图
前言 Webdriver 提供错误截图函数get_screenshot_as_file(),可以帮助我们跟踪bug,在脚本无法继续执行时候, get_screenshot_as_file()函数将截取 ...
- Python+Selenium学习--控制浏览器控制条
场景 有时候web 页面上的元素并非直接可见的,就算把浏览器最大化,我们依然需要拖动滚动条才能看到想要操作的元素,这个时候就要控制页面滚动条的拖动,但滚动条并非页面上的元素,可以借助JavaScrip ...
随机推荐
- python 使用gevent模块实现手动挡切换多协程。
from greenlet import greenlet def test1(): print(12) g2.switch()#切换到协程g2执行,保存执行状态 print(23) g2.switc ...
- Ubuntu16.04交叉工具链安装
前言: 开发环境是64位的ubuntu16.04,交叉工具链是通过sudo apt-get install ....安装的,移植uboot2014.10,但是很奇怪,按照网上的介绍在start.s里面 ...
- PythonStudy——字典的定义 Dictionary definition
# 空字典 d1 = {} d2 = dict() # 用map映射创建字典 d3 = dict({'a': 1, 'b': 1}) print(d3) # 用关键字赋值方式 d4 = dict(na ...
- python的set处理二维数组转一维数组
for splitValue in set(dataset[:, featureIndex].tolist()): 首先set是一个无序,无重复的数据结构,所以很多时候使用它来进行去重:但是set接收 ...
- [转]C#程序性能优化
C#程序性能优化 1.显式注册的EvenHandler要显式注销以避免内存泄漏 将一个成员方法注册到某个对象的事件会造成后者持有前者的引用.在事件注销之前,前者不会被垃圾回收. private v ...
- Python程序打包之PyInstaller
1.背景说明 [Python版本]Python 2.7.14 [系统平台]Windows 7 [优缺点描述]据说PyInstaller 比较慢,但是PyInstaller打包出来的exe简洁(就一个文 ...
- 京东返利渠道,自己拿返利,无需A推B操作
京东返利渠道,自己拿返利,无需A推B操作,简单快捷方便 1.在微信小程序中搜索 “京东饭粒” 2.进入京东饭粒,进购物车下单(只能在购物车内下单返利) 3.收货后26天返京豆到你的京东账号中,”佛系返 ...
- CSS存在形式的引用
撰写个css文件 直接引用css文件样式的内容.本质是将css文件拿过来
- I18nUtils
import java.io.File; import java.io.FileInputStream; import java.io.InputStream; import java.util.*; ...
- MySQL 之 MHA + ProxySQL + keepalived 实现读写分离,高可用(二)
ProxySQL安装 yum/rpm安装 在github或官网上可以下载rpm包,wiki的Getting start章节有详细介绍. cat <<EOF | tee /etc/yum.r ...