场景
有时候我们需要验证浏览器中是否存在某个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信息
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
#!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: 打印cookie信息.py @time: 2019-07-05 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() |
运行结果(只显示部分):
1
|
[{ 'domain' : '.baidu.com' , 'name' : 'BAIDUID' , 'expiry' : 3685436562 , 'secure' : False , 'value' : '687F30EFAD1767D5CAFE6165CD09633E:FG=1' , 'httpOnly' : False , 'path' : '/' },] |
对cookie操作
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
|
#!/usr/bin/env python # -*- codinfg:utf-8 -*- ''' @author: Jeff LEE @file: 对cookie操作.py @time: 2019-07-05 17:15 @desc: ''' from selenium import webdriver import time driver = webdriver.Firefox() #添加智能等待 driver.implicitly_wait( 10 ) driver.get( 'http://*****m/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