利用Selenium添加cookie实现自动登录的示例代码(fofa)


Posted in Python onMay 08, 2021

介绍

Selenium可以模拟浏览器进行自动化操作,但一些网站需要进行登录才能进行一些操作,比起输入账号密码,cookie是更加方便的。而且fofa首先登录邮箱账号时获得的cookie并不是fofa的cookie,因此我们直接选择利用fofa的cookie进行自动登录。但是selenium需要先打开一个网站才会加载进去cookies,因此我们需要将cookies写在代码中,加载进去

扩展

  • 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后2)
以fofa为例:

1.模拟登录并保存此次登录的cookies

代码如下:

import json
from selenium import webdriver

dirver = webdriver.Chrome(executable_path=r'C:\Program Files (x86)\Google\Chrome\Application\chromedriver.exe')
dirver.get('https://classic.fofa.so/')
dictCookies = dirver.get_cookies()  #获得所有cookie信息(返回是字典)
print(dictCookies)
print(type(dictCookies))
jsonCookies = json.dumps(dictCookies)  #dumps是将dict转化成str格式
print(jsonCookies)
print(type(jsonCookies))
# 登录完成后,将cookies保存到本地文件
with open("cookies_fofa.json", "w") as fp:
    fp.write(jsonCookies)

利用Selenium添加cookie实现自动登录的示例代码(fofa)

可以看到生成cookies_fofa.json

利用Selenium添加cookie实现自动登录的示例代码(fofa)

也就是转化成str的cookies被保存在该文件中

利用Selenium添加cookie实现自动登录的示例代码(fofa)

第一部分完成,获得了页面的cookies,这样获得好处是能知道cookies的格式。

2.添加我们登录账户的cookies实现自动登录

我们可以先登录我们的会员号,然后查看其cookie的名和值,然后添加至下面代码,即可实现自动登录

利用Selenium添加cookie实现自动登录的示例代码(fofa)

代码如下:

import json
from selenium import webdriver

browser = webdriver.Chrome()
browser.get("https://classic.fofa.so/")
browser.delete_all_cookies()  #删除所有cookie信息
with open('cookies_fofa.json', 'r', encoding='utf-8') as f:
    listCookies = json.loads(f.read())     #loads是将str转化成dict格式

for cookie in listCookies:
    browser.add_cookie({     #此处模仿之前生成的cookies_fofa.json的格式写即可,要用单引号,因为已经转成dict格式了
        'domain': '.fofa.so',
        'name': 'cookie的名',
        'value': 'cookie的值',
        'path': '/',
        'expires': None
    })

browser.get("https://classic.fofa.so/")

利用Selenium添加cookie实现自动登录的示例代码(fofa)

利用Selenium添加cookie实现自动登录的示例代码(fofa)

可以看到成功实现自动登录

到此这篇关于利用Selenium添加cookie实现自动登录的示例代码(fofa)的文章就介绍到这了,更多相关Selenium cookie自动登录内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中list循环语句用法实例
Nov 10 Python
scrapy自定义pipeline类实现将采集数据保存到mongodb的方法
Apr 16 Python
按日期打印Python的Tornado框架中的日志的方法
May 02 Python
python中文乱码不着急,先看懂字节和字符
Dec 20 Python
Python编程求解二叉树中和为某一值的路径代码示例
Jan 04 Python
Python selenium实现微博自动登录的示例代码
May 16 Python
浅析PEP572: 海象运算符
Oct 15 Python
Python基于numpy模块实现回归预测
May 14 Python
django queryset相加和筛选教程
May 18 Python
Python中logging日志的四个等级和使用
Nov 17 Python
python自动从arxiv下载paper的示例代码
Dec 05 Python
Python代码风格与编程习惯重要吗?
Jun 03 Python
Python基础之教你怎么在M1系统上使用pandas
python文件目录操作之os模块
May 08 #Python
Python进阶学习之带你探寻Python类的鼻祖-元类
May 08 #Python
python实战之用emoji表情生成文字
May 08 #Python
python实现过滤敏感词
Django中的JWT身份验证的实现
May 07 #Python
python开发实时可视化仪表盘的示例
You might like
PHP XML error parsing SOAP payload on line 1
2010/06/17 PHP
PHP的范围解析操作符(::)的含义分析说明
2011/07/03 PHP
百度工程师讲PHP函数的实现原理及性能分析(三)
2015/05/13 PHP
Linux下编译redis和phpredis的方法
2016/04/07 PHP
PHP开发中解决并发问题的几种实现方法分析
2017/11/13 PHP
Linux下安装Memcached服务器和客户端与PHP使用示例
2019/04/15 PHP
YII2框架中actions的作用与使用方法示例
2020/03/13 PHP
jquery表格内容筛选实现思路及代码
2013/04/16 Javascript
JS的location.href跳出框架打开新页面的方法
2014/09/04 Javascript
setTimeout()递归调用不加引号出错的解决方法
2014/09/05 Javascript
easyui Draggable组件实现拖动效果
2015/08/19 Javascript
Javascript中函数名.length属性用法分析(对比arguments.length)
2016/09/16 Javascript
浅谈javascript:两种注释,声明变量,定义函数
2016/10/05 Javascript
javascript常用经典算法详解
2017/01/11 Javascript
JS实现的验证身份证及获取地区功能示例
2017/01/16 Javascript
微信小程序form表单组件示例代码
2018/07/15 Javascript
vue2 设置router-view默认路径的实例
2018/09/20 Javascript
JavaScript常用数组操作方法,包含ES6方法
2020/05/10 Javascript
js/jquery遍历对象和数组的方法分析【forEach,map与each方法】
2019/02/27 jQuery
微信小程序实现滑动操作代码
2020/04/23 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
TypeScript魔法堂之枚举的超实用手册
2020/10/29 Javascript
深入理解Django-Signals信号量
2019/02/19 Python
Python实现时间序列可视化的方法
2019/08/06 Python
Python中断多重循环的思路总结
2019/10/04 Python
Python利用全连接神经网络求解MNIST问题详解
2020/01/14 Python
使用Python来做一个屏幕录制工具的操作代码
2020/01/18 Python
解决Python发送Http请求时,中文乱码的问题
2020/04/30 Python
python如何求圆的面积
2020/07/01 Python
分享全球十款超强HTML5开发工具
2014/05/14 HTML / CSS
职业生涯规划书基本格式
2014/01/06 职场文书
海飞丝的广告词
2014/03/20 职场文书
安全标语大全
2014/06/10 职场文书
中学教师师德师风演讲稿
2014/08/22 职场文书
介绍信怎么写
2015/01/30 职场文书
幼儿园老师新年寄语
2015/08/17 职场文书