前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Python+Selenium笔记(十七):操作cookie

Python+Selenium笔记(十七):操作cookie

作者头像
free赖权华
发布2018-04-27 18:16:05
1.6K0
发布2018-04-27 18:16:05
举报
文章被收录于专栏:赖权华的笔记赖权华的笔记

(一)方法

方法

简单说明

add_cookie(cookie_dict)

在当前会话中添加cookie信息 cookie_dict:字典,name和value是必须的

delete_all_cookies()

在当前会话中删除所有cookie信息

delete_cookie(name)

删除单个名为name的cookie信息

get_cookie(name)

返回单个名为name的cookie信息,如果没有找到,返回none

get_cookies()

返回当前会话所有的cookie信息

(二)对比登录前后cookie的区别

代码语言:javascript
复制
 1 from selenium import webdriver
 2 import time
 3 # driverOption = webdriver.ChromeOptions()
 4 # driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 5 driver = webdriver.Chrome()
 6 driver.implicitly_wait(5)
 7 driver.maximize_window()
 8 driver.get('https://www.cnblogs.com/')
 9 print("登录前:")
10 for ck in driver.get_cookies():
11     print(ck)
12 login_area = driver.find_element_by_css_selector('#login_area')
13 register = login_area.find_element_by_link_text('登录')
14 register.click()
15 #这步等待25秒,手动输入账号密码,登录。记得勾选下次自动登录
16 time.sleep(25)
17 print('登陆后')
18 for ck in driver.get_cookies():
19     print(ck)
20 driver.quit()

对比下图的输出,可以发现,登录后多了'name': '.CNBlogsCookie','name': '.Cnblogs.AspNetCore.Cookies'。

(三)添加cookie,实现自动登录(通过这种方式可以跳过验证码)

下面的代码记得添加value的值

代码语言:javascript
复制
 1 from selenium import webdriver
 2 import time
 3 # driverOption = webdriver.ChromeOptions()
 4 # driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 5 driver = webdriver.Chrome()
 6 driver.implicitly_wait(5)
 7 driver.maximize_window()
 8 driver.get('https://www.cnblogs.com/')
 9 #value的值,把自己第二步中打印出来的value值复制过来就行了。
   #这里加domain是因为默认添加的域名是www.cnblogs.com,所以指定域名
10 # (IDE不好复制的话,可以ctrl+a先复制到一些文档编辑软件上去,然后再复制回来)
11 driver.add_cookie({
12 'domain': '.cnblogs.com',
13 'name': '.CNBlogsCookie',
14 'value':''
15 
16 })
17 #value的值,把自己第二步中打印出来的value值复制过来就行了。
18 driver.add_cookie({
19 'domain': '.cnblogs.com',
20 'name': '.Cnblogs.AspNetCore.Cookies',
21 'value': ''
22 
23 }
24 )
25 time.sleep(2)
26 #刷新页面
27 driver.refresh()
28 time.sleep(3)
29 driver.quit()

(四)加载谷歌的用户配置文件(这个和操作cookie没什么关系,懒得专门写一篇了,就放到这了)

代码语言:javascript
复制
 1 from selenium import webdriver
 2 import time
 3 driverOption = webdriver.ChromeOptions()
 4 #把这个C:\Users\123456\AppData\Local\Google\Chrome\User Data替换成自己的就行了
 5 #123456把这个换成本地计算机的用户名应该就是了
 6 driverOption.add_argument(r'user-data-dir=C:\Users\123456\AppData\Local\Google\Chrome\User Data')
 7 driver = webdriver.Chrome(chrome_options=driverOption)
 8 driver.implicitly_wait(5)
 9 driver.maximize_window()
10 driver.get('https://www.cnblogs.com/')
11 time.sleep(3)
12 driver.quit()
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2018-03-12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

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

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

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