Selenium获取登录Cookies并添加Cookies自动登录的方法


Posted in Python onDecember 04, 2020

本章中用到的关键方法如下:

  • get_cookies(): 获得所有cookie信息。
  • get_cookie(name): 返回字典的key为“name”的cookie信息。
  • add_cookie(cookie_dict): 添加cookie。“cookie_dict”指字典对象,必须有name 和value 值。
  • delete_cookie(name,optionsString):删除cookie信息。“name”是要删除的cookie的名称,“optionsString”是该cookie的选项,目前支持的选项包括“路径”,“域”。
  • delete_all_cookies(): 删除所有cookie信息。

1、模拟登陆并获取Cookies

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')

# 模拟登陆
driver.find_element_by_link_text('登录').click()
time.sleep(2)
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__footerULoginBtn"]').click()
time.sleep(2)
driver.find_element_by_name("userName").send_keys("账号")
driver.find_element_by_name("password").send_keys("密码")
driver.find_element_by_xpath('//*[@id="TANGRAM__PSP_10__submit"]').click()
time.sleep(20) #可能会出现验证码,手动点一下

# 获取cookies
cookies = driver.get_cookies()
print(cookies)
driver.quit()

2、添加Cookies自动登录

注:

获取Cookies的时候每个字典的字段不统一,全部添加会报错,所以本人只添加了比较重要的几个字段。
把代码中cookies字段的list换成上一步获取的内容,或者自己构建。

from selenium import webdriver
import time

driver = webdriver.Chrome()
driver.get('https://www.baidu.com/')
time.sleep(2)
cookies = [] #换成上一步获取的Cookies
for cookie in cookies:
 driver.add_cookie(
 {
  'domain':cookie['domain'],
  'name': cookie['name'],
  'value':cookie['value'],
  'path': cookie['path']
 }
 )
# # 刷新页面
driver.refresh()

# driver.quit() #为方便查看,页面就不关了

selenium 使用 cookies

selenium 需要先打开一个网址,才能加载进去cookies(知道cookies是哪个网站的)。添加完cookies再打开网址,使用cookies

前面读取的cookies 是一个包含着每一个cookies的name,value 的字典,即name1:value1,name2:value2字典。遍历添加网站使用的每一个cookies的name,value.

tbCookies = readTaobaoCookies()

brower.get("https://www.taobao.com")
for cookie in tbCookies:
 brower.add_cookie({
 "domain":".taobao.com",
 "name":cookie,
 "value":tbCookies[cookie],
 "path":'/',
 "expires":None
 })
brower.get("https://www.taobao.com")

Selenium文集传送门:

标题 简介
Python爬虫 - Selenium(1)安装和简单使用 详细介绍Selenium的依赖环境在Windows和Centos7上的安装及简单使用
Python爬虫 - Selenium(2)元素定位和WebDriver常用方法 详细介绍定位元素的8种方式并配合点击和输入、提交、获取断言信息等方法的使用
Python爬虫 - Selenium(3)控制浏览器的常用方法 详细介绍自定义浏览器窗口大小或全屏、控制浏览器后退、前进、刷新浏览器等方法的使用
Python爬虫 - Selenium(4)配置启动项参数 详细介绍Selenium启动项参数的配置,其中包括无界面模式、浏览器窗口大小设置、浏览器User-Agent (请求头)等等
Python爬虫 - Selenium(5)鼠标事件 详细介绍鼠标右击、双击、拖动、鼠标悬停等方法的使用
Python爬虫 - Selenium(6)键盘事件 详细介绍键盘的操作,几乎包含所有常用按键以及组合键
Python爬虫 - Selenium(7)多窗口切换 详细介绍Selenium是如何实现在不同的窗口之间自由切换
Python爬虫 - Selenium(8)frame/iframe表单嵌套页面 详细介绍如何从当前定位的主体切换为frame/iframe表单的内嵌页面中
Python爬虫 - Selenium(9)警告框(弹窗)处理 详细介绍如何定位并处理多类警告弹窗
Python爬虫 - Selenium(10)下拉框处理 详细介绍如何灵活的定位并处理下拉框
Python爬虫 - Selenium(11)文件上传 详细介绍如何优雅的通过send_keys()指定文件进行上传
Python爬虫 - Selenium(12)获取登录Cookies,并添加Cookies自动登录 详细介绍如何获取Cookies和使用Cookies进行自动登录
Python爬虫 - Selenium(13)设置元素等待 详细介绍如何优雅的设置元素等待时间,防止程序运行过快而导致元素定位失败
Python爬虫 - Selenium(14)窗口截图 详细介绍如何使用窗口截图
Python爬虫 - Selenium(15)关闭浏览器 详细介绍两种关闭窗口的区别

到此这篇关于Selenium获取登录Cookies并添加Cookies自动登录的方法的文章就介绍到这了,更多相关Selenium获取登录Cookies内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python聊天程序实例代码分享
Nov 18 Python
简单介绍Python中的JSON模块
Apr 08 Python
Python脚本处理空格的方法
Aug 08 Python
linecache模块加载和缓存文件内容详解
Jan 11 Python
python 集合 并集、交集 Series list set 转换的实例
May 29 Python
Python读取mat文件,并转为csv文件的实例
Jul 04 Python
python 获取utc时间转化为本地时间的方法
Dec 31 Python
如何利用Python分析出微信朋友男女统计图
Jan 25 Python
python实现全盘扫描搜索功能的方法
Feb 14 Python
详解python3安装pillow后报错没有pillow模块以及没有PIL模块问题解决
Apr 17 Python
Python 操作mysql数据库查询之fetchone(), fetchmany(), fetchall()用法示例
Oct 17 Python
获取python运行输出的数据并解析存为dataFrame实例
Jul 07 Python
Python爬虫中Selenium实现文件上传
Dec 04 #Python
利用python进行文件操作
Dec 04 #Python
Python爬虫之Selenium下拉框处理的实现
Dec 04 #Python
Python爬虫之Selenium警告框(弹窗)处理
Dec 04 #Python
Python爬虫之Selenium中frame/iframe表单嵌套页面
Dec 04 #Python
Python爬虫之Selenium多窗口切换的实现
Dec 04 #Python
Python爬虫之Selenium实现键盘事件
Dec 04 #Python
You might like
解析PHP的session过期设置
2013/06/29 PHP
详解PHP的Yii框架中自带的前端资源包的使用
2016/03/31 PHP
php+MySql实现登录系统与输出浏览者信息功能
2016/07/01 PHP
PHP的openssl加密扩展使用小结(推荐)
2016/07/18 PHP
js使浏览器窗口最大化实现代码(适用于IE)
2013/08/07 Javascript
JsRender for index循环索引用法详解
2014/10/31 Javascript
简单实现JS对dom操作封装
2015/12/02 Javascript
js将json格式的对象拼接成复杂的url参数方法
2016/05/25 Javascript
jQuery解决IE6、7、8不能使用 JSON.stringify 函数的问题
2016/05/31 Javascript
jQuery EasyUI提交表单验证
2016/07/19 Javascript
关于vue.js发布后路径引用的问题解决
2017/08/15 Javascript
JS鼠标3次点击事件实现代码及扩展思路
2017/09/12 Javascript
基于Koa2写个脚手架模拟接口服务的方法
2018/11/27 Javascript
微信小程序上传图片到php服务器的方法
2019/05/23 Javascript
详解微信小程序自定义组件的实现及数据交互
2019/07/22 Javascript
vue中 v-for循环的用法详解
2020/02/19 Javascript
[02:34]2016完美“圣”典风云人物:BurNIng专访
2016/12/10 DOTA
Python collections模块实例讲解
2014/04/07 Python
Python探索之修改Python搜索路径
2017/10/25 Python
python中Apriori算法实现讲解
2017/12/10 Python
Python中实现switch功能实例解析
2018/01/11 Python
pyinstaller打包多个py文件和去除cmd黑框的方法
2019/06/21 Python
python requests指定出口ip的例子
2019/07/25 Python
python超时重新请求解决方案
2019/10/21 Python
python和php哪个容易学
2020/06/19 Python
python 基于卡方值分箱算法的实现示例
2020/07/17 Python
css3的focus-within选择器的使用
2020/05/11 HTML / CSS
美国鞋类购物网站:Shiekh Shoes
2016/08/21 全球购物
蒂芙尼澳大利亚官方网站:Tiffany&Co. Australia
2017/08/27 全球购物
电脑售后服务承诺书
2014/03/27 职场文书
学校安全责任书范本
2014/07/23 职场文书
会计工作检讨书
2015/02/19 职场文书
同事去世追悼词
2015/06/23 职场文书
导游经典开场白——导游词
2019/04/17 职场文书
2019年最新借条范本!
2019/07/08 职场文书
2019年鼓励无偿献血倡议书
2019/09/17 职场文书