pythonselenium获取cookie(selenium自动化之cookie获取与登录)
pythonselenium获取cookie(selenium自动化之cookie获取与登录)在程序和参数不写错的情况下,运行这段代码,访问百度页面后,账户就被登陆了。这只是获取cookie和使用cookie的一种方式,下篇说明其它的方式。
cookie有两种,一种是会话级别的,一种是有有效期的,会话级别的cookie就不能用add_cookie的方法了,因为一次会话过程(从打开浏览器到关闭浏览器,断开连接)结束后它就失效了。下面以百度首页登录为例,如何获取cookie和使用cookie进行免登录操作。
获取cookie方式查看cookie的方法有几种,可以使用fidller抓包能够看到cookie的name和value值,但不是特别全面;也可以使用浏览器按F12,Chrome按F12,点击Application,左边点击Cookies,选择需要查看的url,下图为Firefox查看百度用户登录后的cookie信息,点击“存储”,左侧点击Cookie。这里看到的信息比使用fidller抓包看到的信息更全面。
使用cookie免登陆根据上图中获取到cookie中的BAIDUID和BDUSS的name和value复制并保存,在程序中使用add_cookie()把BAIDUID和BDUSS的键值传递给cookie。
from selenium import webdriverfrom 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()
在程序和参数不写错的情况下,运行这段代码,访问百度页面后,账户就被登陆了。
这只是获取cookie和使用cookie的一种方式,下篇说明其它的方式。