selenium携带cookies模拟登陆CSDN的实现


Posted in Python onJanuary 19, 2021

首先是获取cookies保存到本地

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time  : 2020/12/20 11:00
# @Author : huni
# @File  : cookies获取.py
# @Software: PyCharm
from selenium import webdriver
from time import sleep
import json
if __name__ == '__main__':
  driver = webdriver.Chrome(executable_path='./chromedriver.exe')
  driver.maximize_window()
  driver.get('https://passport.csdn.net/login?code=public')
  sleep(2)
  driver.find_element_by_xpath('/html/body/div[2]/div/div/div[1]/div[2]/div[5]/ul/li[1]/a').click()
  sleep(6)
  dictCookies = driver.get_cookies() # 获取list的cookies
  jsonCookies = json.dumps(dictCookies) # 转换成字符串保存
  with open('csdn_cookies.txt', 'w') as f:
    f.write(jsonCookies)
  print('cookies保存成功!')

然后是利用本地的cookies模拟登陆csdn首页

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time  : 2020/12/20 11:10
# @Author : huni
# @File  : 使用cookies登录csdn.py
# @Software: PyCharm
from selenium import webdriver
import json
def browser_initial():
  browser = webdriver.Chrome(executable_path='./chromedriver.exe')
  browser.maximize_window()
  browser.get(
    'https://www.csdn.net/')
  return browser

def log_csdn(browser):
  with open('csdn_cookies.txt', 'r', encoding='utf8') as f:
    listCookies = json.loads(f.read())

  # 往browser里添加cookies
  for cookie in listCookies:
    cookie_dict = {
      'domain': '.csdn.net',
      'name': cookie.get('name'),
      'value': cookie.get('value'),
      "expires": '',
      'path': '/',
      'httpOnly': False,
      'HostOnly': False,
      'Secure': False
    }
    browser.add_cookie(cookie_dict)
  browser.refresh() # 刷新网页,cookies才成功

if __name__ == "__main__":
  browser = browser_initial()
  log_csdn(browser)

cookies是有时间限制的,定期获取即可,登陆之后可以进行其他自动化操作,比如给别人的博客评论,点赞等等。

到此这篇关于selenium携带cookies模拟登陆CSDN的实现的文章就介绍到这了,更多相关selenium cookies模拟登陆内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
Python 用户登录验证的小例子
Mar 06 Python
Python性能优化技巧
Mar 09 Python
在Django的URLconf中使用命名组的方法
Jul 18 Python
python常用函数详解
Sep 13 Python
python操作 hbase 数据的方法
Dec 18 Python
python利用MethodType绑定方法到类示例代码
Aug 27 Python
pyqt5 QProgressBar清空进度条的实例
Jun 21 Python
Django 静态文件配置过程详解
Jul 23 Python
Django配置文件代码说明
Dec 04 Python
基于Tensorflow批量数据的输入实现方式
Feb 05 Python
python怎么判断素数
Jul 01 Python
python关于倒排列的知识点总结
Oct 13 Python
django项目中使用云片网发送短信验证码的实现
Jan 19 #Python
windows系统Tensorflow2.x简单安装记录(图文)
Jan 18 #Python
Python结合百度语音识别实现实时翻译软件的实现
Jan 18 #Python
用Python自动清理系统垃圾的实现
Jan 18 #Python
详解Python爬虫爬取博客园问题列表所有的问题
Jan 18 #Python
python爬虫爬取图片的简单代码
Jan 18 #Python
python中用Scrapy实现定时爬虫的实例讲解
Jan 18 #Python
You might like
第五节--克隆
2006/11/16 PHP
php中如何防止表单的重复提交
2013/08/02 PHP
Laravel中encrypt和decrypt的实现方法
2017/09/24 PHP
阿里对象存储OSS在laravel框架中的使用方法
2019/10/13 PHP
js 复制或插入Html的实现方法小结
2010/05/19 Javascript
jquery获得下拉框值的代码
2011/08/13 Javascript
jquery插件珍藏(图片局部放大/信息提示框)
2013/01/08 Javascript
node.js中的fs.futimesSync方法使用说明
2014/12/17 Javascript
微信小程序实战之自定义模态弹窗(8)
2017/04/18 Javascript
神级程序员JavaScript300行代码搞定汉字转拼音
2017/05/20 Javascript
JavaScript该如何学习 怎样轻松学习JavaScript
2017/06/12 Javascript
JS开发中基本数据类型具体有哪几种
2017/10/19 Javascript
vue 每次渲染完页面后div的滚动条保持在最底部的方法
2018/03/17 Javascript
使用Vue开发动态刷新Echarts组件的教程详解
2018/03/22 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
Vuex 单状态库与多模块状态库详解
2018/12/11 Javascript
用VueJS写一个Chrome浏览器插件的实现方法
2019/02/27 Javascript
详解Vue源码中一些util函数
2019/04/24 Javascript
JS严格模式原理与用法实例分析
2020/04/27 Javascript
基于JS实现table导出Excel并保留样式
2020/05/19 Javascript
vue如何搭建多页面多系统应用
2020/06/17 Javascript
详解Vite的新体验
2021/02/22 Javascript
python使用marshal模块序列化实例
2014/09/25 Python
python opencv实现任意角度的透视变换实例代码
2018/01/12 Python
python 哈希表实现简单python字典代码实例
2019/09/27 Python
使用Python制作一个打字训练小工具
2019/10/01 Python
详解Canvas 跨域脱坑实践
2018/11/07 HTML / CSS
会计员岗位职责
2014/03/15 职场文书
三好学生演讲稿范文
2014/04/26 职场文书
cf战队收人口号
2014/06/21 职场文书
装修施工安全责任书
2014/07/24 职场文书
解除劳动合同协议书(样本)
2014/10/02 职场文书
酒店辞职信怎么写
2015/02/27 职场文书
施工单位工程部经理岗位职责
2015/04/09 职场文书
2017年大学生寒假社会实践活动总结
2016/04/06 职场文书
Python按顺序遍历并读取文件夹中文件
2022/04/29 Python