您的位置:首页 > 编程语言 > Python开发

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

2020-02-02 17:11 274 查看

(一)方法

方法

简单说明

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的区别

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

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没什么关系,懒得专门写一篇了,就放到这了)

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()

 

转载于:https://www.cnblogs.com/simple-free/p/8549874.html

  • 点赞
  • 收藏
  • 分享
  • 文章举报
anbipan1507 发布了0 篇原创文章 · 获赞 0 · 访问量 288 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: