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实现自动登录人人网并访问最近来访者实例
Sep 26 Python
Python中类的定义、继承及使用对象实例详解
Apr 30 Python
Python2中的raw_input() 与 input()
Jun 12 Python
Django中login_required装饰器的深入介绍
Nov 24 Python
Python读写/追加excel文件Demo分享
May 03 Python
flask入门之表单的实现
Jul 18 Python
python调用摄像头显示图像的实例
Aug 03 Python
python中map的基本用法示例
Sep 10 Python
Python中Numpy ndarray的使用详解
May 24 Python
django 配置阿里云OSS存储media文件的例子
Aug 20 Python
python中文分词库jieba使用方法详解
Feb 11 Python
Python获取excel内容及相关操作代码实例
Aug 10 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
认识并使用PHP超级全局变量
2010/01/26 PHP
PHPUnit PHP测试框架安装方法
2011/03/23 PHP
PHP setcookie指定domain参数后,在IE下设置cookie失效的解决方法
2011/09/09 PHP
如何在symfony中导出为CSV文件中的数据
2011/10/06 PHP
PHP文件上传、客户端和服务器端加限制、抓取错误信息、完整步骤解析
2017/01/12 PHP
php支付宝系列之电脑网站支付
2018/05/30 PHP
如何快速的呈现我们的网页的技巧整理
2007/07/01 Javascript
使用jQuery简化Ajax开发 Ajax开发入门
2009/10/14 Javascript
jquery和javascript的区别(常用方法比较)
2013/07/04 Javascript
getJSON调用后台json数据时函数被调用两次的原因猜想
2013/09/29 Javascript
浅谈JSON中stringify 函数、toJosn函数和parse函数
2015/01/26 Javascript
jQuery控制网页打印指定区域的方法
2015/04/07 Javascript
总结几道关于Node.js的面试问题
2017/01/11 Javascript
bootstrap 模态框(modal)实现水平垂直居中显示
2017/01/23 Javascript
vue2中filter()的实现代码
2017/07/09 Javascript
AngularJS中table表格基本操作示例
2017/10/10 Javascript
vue2中使用less简易教程
2018/03/27 Javascript
vue 中 beforeRouteEnter 死循环的问题
2019/04/23 Javascript
python根据给定文件返回文件名和扩展名的方法
2015/03/27 Python
基于Python List的赋值方法
2018/06/23 Python
Python统计一个字符串中每个字符出现了多少次的方法【字符串转换为列表再统计】
2019/05/05 Python
python使用pygame模块实现坦克大战游戏
2020/03/25 Python
python文字和unicode/ascll相互转换函数及简单加密解密实现代码
2019/08/12 Python
python 动态调用函数实例解析
2019/10/21 Python
HTML5 拖放(Drag 和 Drop)详解与实例代码
2017/09/14 HTML / CSS
乌克兰巴士票购买网站:inBus
2021/03/12 全球购物
幼儿教师个人求职信范文
2013/09/21 职场文书
计算机专业毕业生的自我评价
2013/11/18 职场文书
给幼儿园老师的表扬信
2014/01/19 职场文书
京剧自荐信
2014/01/26 职场文书
群众路线领导干部个人对照检查材料(集锦)
2014/09/23 职场文书
销售经理工作检讨书
2015/02/19 职场文书
新闻发布会新闻稿
2015/07/17 职场文书
年终奖金发放管理制度,中小企业适用,拿去救急吧!
2019/07/12 职场文书
MySQL实现配置主从复制项目实践
2022/03/31 MySQL
基于Redission的分布式锁实战
2022/08/14 Redis