前言 虽然cookie相关操作在平常ui自动化中用得少,偶尔也会用到,比如登录有图形验证码,可以通过绕过验证码方式,添加cookie方法登录。 登录后换账号登录时候,也可作为后置条件去删除cookie然后下个账号登录 一、获取cookies:get_cookies() 1.获取cookies方法直接用:get_cookies() 2.先启动浏览器,获取cookies,打印出来发现是空:[] 3.打开博客首页后,重新获取cookies,打印出来,就有值了 二、登录后的cookies 1.先登录博客园(这里登录用自己的账号和密码吧) 2.重新获取cookies,发现跟之前获取的不一样了 3.主要是找到这一个cookie,发现它的name和value发生了变化,这就是未登录和已登录的区别了(对比上下两张图) {u'name': u'.CNBlogsCookie', u'value': u'B7813EBA142142CE88CC8C0B33B239F566xxxx'} 三、获取指定name的cookie:driver.get_cookie(name) 1.获取cookies发现里面有多个cookie,有时候我们只需要其中的一个,把重要的提出来,比如登录的cookie 2.这里用get_cookie(name),指定对应的cookie的name值就行了,比如博客园的:.CNBlogsCookie 四、清除指定cookie:delete_cookie() 1.为了进一步验证上一步获取到的就是登录的cookie,可以删除它看看页面什么变化 2.删除这个cookie后刷新页面,发现刚才的登录已经失效了,变成未登录状态了 五、清除所有cookies:delete_all_cookies() 1.清除所有cookies后登录状态也失效了,cookies为空[] 六、cookie操作的几个方法 1.get_cookies():获取所有cookies 2.driver.get_cookie(name):获取指定name的cookie: 3.清除指定cookie:delete_cookie() 4.delete_all_cookies():清除所有cookies 5.add_cookie(cookie_dict):添加cookie的值 (第五个方法可以用于绕过验证码登录,下篇详细介绍) 七、参考代码 # coding:utf-8 |
|