前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Selenium2+python自动化40-cookie相关操作

Selenium2+python自动化40-cookie相关操作

作者头像
上海-悠悠
发布2018-04-08 15:52:05
7050
发布2018-04-08 15:52:05
举报

前言

虽然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的值

(第五个方法可以用于绕过验证码登录,下篇详细介绍)

七、参考代码

代码语言:javascript
复制
# coding:utf-8
from selenium import webdriver
import time

driver = webdriver.Firefox()
# 启动浏览器后获取cookies
print driver.get_cookies()
driver.get("http://www.cnblogs.com/yoyoketang/")
# 打开主页后获取cookies
print driver.get_cookies()
# 登录后获取cookies
url = "https://passport.cnblogs.com/user/signin"
driver.get(url)
driver.implicitly_wait(30)
driver.find_element_by_id("input1").send_keys(u"上海-悠悠")
driver.find_element_by_id("input2").send_keys(u"xxx")
driver.find_element_by_id("signin").click()
time.sleep(3)
print driver.get_cookies()

# 获取指定name的cookie
print driver.get_cookie(name=".CNBlogsCookie")

# 清除指定name的cookie
driver.delete_cookie(name=".CNBlogsCookie")
print driver.get_cookies()
# 为了验证此cookie是登录的,可以删除后刷新页面
driver.refresh()

# 清除所有的cookie
driver.delete_all_cookies()
print driver.get_cookies()
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-03-11,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 从零开始学自动化测试 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
验证码
腾讯云新一代行为验证码(Captcha),基于十道安全栅栏, 为网页、App、小程序开发者打造立体、全面的人机验证。最大程度保护注册登录、活动秒杀、点赞发帖、数据保护等各大场景下业务安全的同时,提供更精细化的用户体验。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档