Python+selenium自动化之cookie获取与登录

cookie有两种,一种是会话级别的,一种是有有效期的,会话级别的cookie就不能用add_cookie的方法了,因为一次会话过程(从打开浏览器到关闭浏览器,断开连接)结束后它就失效了。下面以百度首页登录为例,如何获取cookie和使用cookie进行免登录操作。

获取cookie方式

查看cookie的方法有几种,可以使用fidller抓包能够看到cookie的name和value值,但不是特别全面;也可以使用浏览器按F12,Chrome按F12,点击Application,左边点击Cookies,选择需要查看的url,下图为Firefox查看百度用户登录后的cookie信息,点击“存储”,左侧点击Cookie。这里看到的信息比使用fidller抓包看到的信息更全面。

Python+selenium自动化之cookie获取与登录_第1张图片

使用cookie免登陆

根据上图中获取到cookie中的BAIDUID和BDUSS的name和value复制并保存,在程序中使用add_cookie()把BAIDUID和BDUSS的键值传递给cookie。

from selenium import webdriver
from time import sleep

driver webdriver.Firefox()
driver.implicitly_wait(20)
driver.get("https://www.baidu.com")
driver.add_cookie({ 'name':'BAIDUID','value':'774AD7E55B8613FB226DE2704CDF0BC8:FG=1'})
driver.add_cookie({ 'name':'BDUSS','value':'TQ2MzBqSjUteW5aMVJxRUxrRFRlNn5yVHNIVGRmakR2RGJKTmdqU3g0T3JhVkJmRVFBQUFBJCQAAAAAAAAAAAEAAABlJV0UdGlla3VuMDgxNj5OTAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAKcKF-r3ChfZ'})

sleep(3)
driver.refresh()

在程序和参数不写错的情况下,运行这段代码,访问百度页面后,账户就被登陆了。

Python+selenium自动化之cookie获取与登录_第2张图片

这只是获取cookie和使用cookie的一种方式,下篇说明其它的方式。

如果文章对你有帮助,麻烦伸出可爱的小手点个赞,感谢您的支持,你的点赞是我持续更新的动力。在这里推荐一个我自己创建的软件测试交流群,QQ:642830685,群中机会不定期的分享软件测试资源和面试题,以及行业资讯,大家可以在群中积极交流问题呀。

你可能感兴趣的:(软件测试,软件测试,接口测试,自动化测试)