Selenium(十五)cookie

有时候我们需要验证浏览器中是否存在某个 cookie,因为基于真实的 cookie 的测试是无法通过集成测试完成的。WebDriver 提供了操作 Cookie 的相关方法可以读取、添加和删除 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 信息

 

#coding=utf-8
from selenium import webdriver
import time
driver
= webdriver.Chrome() driver.get("http://www.youdao.com")
# 获得 cookie 信息 cookie= driver.get_cookies()
#将获得 cookie 的信息打印 print (cookie)
driver.quit()

打印结果:

 

通过打印结果可以看出,cookie 是以字典的形式进行存放的,知道了 cookie 的存放形式,那么我们就可以按照这种形式向浏览器中写入 cookie 信息。

#coding=utf-8
from selenium import webdriver
import time
driver = webdriver.Firefox()
driver.get("http://www.youdao.com")


#向 cookie 的 name 和 value 添加会话信息。
driver.add_cookie({'name':'key-aaaaaaa', 'value':'value-bbbbbb'})

#遍历 cookies 中的 name 和 value 信息打印,当然还有上面添加的信息
for cookie in driver.get_cookies():
    print ('%s -> %s' % (cookie['name'], cookie['value']))

driver.quit()

打印结果:

 

从打印结果可以看到最后一条 cookie 信息是在脚本执行过程中通过 add_cookie()方法添加的。通过遍历得到的所 cookie 信息从而找到 key 为“name”和“value”的特定 cookie 的 value。

那么在什么情况下会用到 cookie 的操作呢?例如开发人员开发一个功能,当用户登录后,会将用户的用户名写入浏览器 cookie,指定的 key 为“username”,那么我们就可以通过 get_cookies() 找到 useranme,

打印 vlaue,如果找不到 username 或对应的 value 为空,那么说明保存浏览器的 cookie 是有问题的。


delete_cookie() 和 delete_all_cookies() 的使用也很简单,前者通过 name 值到一个特定的 cookie 将其删除,后者直接删除浏览器中的所有 cookies()信息。

 

转载于:https://www.cnblogs.com/dydxw/p/10564040.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值