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信息

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

原文地址:https://www.cnblogs.com/chenlimei/p/12781192.html