利用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中字典的循环遍历的两种方式
Feb 07 Python
Python实现Dijkstra算法
Oct 17 Python
python利用Tesseract识别验证码的方法示例
Jan 21 Python
python2.7使用plotly绘制本地散点图和折线图
Apr 02 Python
详解Python绘图Turtle库
Oct 12 Python
python爬虫使用正则爬取网站的实现
Aug 03 Python
PyCharm 2020.1版安装破解注册码永久激活(激活到2089年)
Sep 24 Python
python 批量下载bilibili视频的gui程序
Nov 20 Python
python3字符串输出常见面试题总结
Dec 01 Python
Python截图并保存的具体实例
Jan 14 Python
Github 使用python对copilot做些简单使用测试
Apr 14 Python
Python自动化实战之接口请求的实现
May 30 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字符串函数系列之nl2br(),在字符串中的每个新行 (\n) 之前插入 HTML 换行符br
2011/11/10 PHP
PHP字符串长度计算 - strlen()函数使用介绍
2013/10/15 PHP
Apache无法自动跳转却显示目录的解决方法
2020/11/30 PHP
PHP静态延迟绑定和普通静态效率的对比
2017/10/20 PHP
PHP开发api接口安全验证操作实例详解
2020/03/26 PHP
JavaScript 参考教程
2006/12/29 Javascript
jQuery实现的立体文字渐变效果
2010/05/17 Javascript
基于jquery实现的可以编辑选择的下拉框的代码
2010/11/19 Javascript
javascript基础知识大全 便于大家学习,也便于我自己查看
2012/08/17 Javascript
js正则表达式中test,exec,match方法的区别说明
2014/01/29 Javascript
简介JavaScript中的italics()方法的使用
2015/06/08 Javascript
跟我学习javascript的定时器
2015/11/19 Javascript
基于JQuery打造无缝滚动新闻步骤详解
2016/03/31 Javascript
微信小程序 解决swiper不显示图片的方法
2017/01/04 Javascript
微信小程序 高德地图SDK详解及简单实例(源码下载)
2017/01/11 Javascript
jQuery实现div跟随鼠标移动
2020/08/20 jQuery
JavaScript实现移动端轮播效果
2017/06/06 Javascript
js实现移动端轮播图效果
2020/12/09 Javascript
vue多种弹框的弹出形式的示例代码
2017/09/18 Javascript
vue父组件中获取子组件中的数据(实例讲解)
2017/09/27 Javascript
微信小程序实现商品属性联动选择
2019/02/15 Javascript
Python中的列表知识点汇总
2015/04/14 Python
TensorFlow实现Batch Normalization
2018/03/08 Python
python实现自动发送报警监控邮件
2018/06/21 Python
Flask之pipenv虚拟环境的实现
2019/11/26 Python
python GUI框架pyqt5 对图片进行流式布局的方法(瀑布流flowlayout)
2020/03/12 Python
python中常见错误及解决方法
2020/06/21 Python
django models里数据表插入数据id自增操作
2020/07/15 Python
Python eval函数原理及用法解析
2020/11/14 Python
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
数控专业毕业生求职信范文
2013/09/21 职场文书
节约用水倡议书
2014/04/16 职场文书
2014客服代表实习自我鉴定
2014/09/18 职场文书
可可西里观后感
2015/06/08 职场文书
蔬果开业典礼发言稿应该怎么写?
2019/09/03 职场文书
如何Python使用re模块实现okenizer
2022/04/30 Python