利用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的Django框架编写从Google Adsense中获得报表的应用
Apr 17 Python
Django基础之Model操作步骤(介绍)
May 27 Python
儿童python练习实例
May 27 Python
对numpy中向量式三目运算符详解
Oct 31 Python
Pandas Shift函数的基础入门学习笔记
Nov 16 Python
python变量赋值方法(可变与不可变)
Jan 12 Python
如何使用python爬虫爬取要登陆的网站
Jul 12 Python
python字典排序的方法
Oct 12 Python
Python 依赖库太多了该如何管理
Nov 08 Python
django实现日志按日期分割
May 21 Python
python如何快速拼接字符串
Oct 28 Python
matplotlib 使用 plt.savefig() 输出图片去除旁边的空白区域
Jan 05 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 mysql 封装类实例代码
2016/09/18 PHP
ThinkPHP使用getlist方法实现数据搜索功能示例
2017/05/08 PHP
PHP实现QQ、微信和支付宝三合一收款码实例代码
2018/02/19 PHP
PHP curl批处理及多请求并发实现方法分析
2018/08/15 PHP
js实现俄罗斯方块小游戏分享
2014/01/31 Javascript
JQuery+Ajax无刷新分页的实例代码
2014/02/08 Javascript
js查找节点的方法小结
2015/01/13 Javascript
DOM 事件流详解
2015/01/20 Javascript
Vue.js第三天学习笔记(计算属性computed)
2016/12/01 Javascript
如何提高javascript加载速度
2016/12/26 Javascript
Node.js之网络通讯模块实现浅析
2017/04/01 Javascript
jQuery Plupload上传插件的使用
2017/04/19 jQuery
解决React Native端口号修改的方法
2017/07/28 Javascript
Js中async/await的执行顺序详解
2017/09/22 Javascript
js操作二进制数据方法
2018/03/03 Javascript
微信小程序MUI导航栏透明渐变功能示例(通过改变rgba的a值实现)
2019/01/24 Javascript
layer.open回调获取弹出层参数的实现方法
2019/09/10 Javascript
JavaScript 严格模式(use strict)用法实例分析
2020/03/04 Javascript
解决vue路由name同名,路由重复的问题
2020/08/05 Javascript
vue动态合并单元格并添加小计合计功能示例
2020/11/26 Vue.js
详细解读Python的web.py框架下的application.py模块
2015/05/02 Python
Python多进程并发(multiprocessing)用法实例详解
2015/06/02 Python
python制作小说爬虫实录
2017/08/14 Python
Python实现中一次读取多个值的方法
2018/04/22 Python
python使用正则表达式来获取文件名的前缀方法
2018/10/21 Python
python中退出多层循环的方法
2018/11/27 Python
Python lxml解析HTML并用xpath获取元素的方法
2019/01/02 Python
python实现一个点绕另一个点旋转后的坐标
2019/12/04 Python
CSS3 实现飘动的云朵动画
2020/12/01 HTML / CSS
你懂得怎么写自荐信吗?
2013/12/27 职场文书
第一批党的群众路线教育实践活动工作总结
2014/03/03 职场文书
政工例会汇报材料
2014/08/26 职场文书
乡镇党的群众路线教育实践活动个人对照检查材料
2014/09/23 职场文书
老公出轨后的保证书
2015/05/08 职场文书
就业意向书范本
2015/05/11 职场文书
总结Java对象被序列化的两种方法
2021/06/30 Java/Android