利用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使用pip安装第三方库(工具包)速度慢、超时、失败的解决方案
Dec 02 Python
对python的输出和输出格式详解
Dec 08 Python
基于Python在MacOS上安装robotframework-ride
Dec 28 Python
python游戏地图最短路径求解
Jan 16 Python
Python爬虫——爬取豆瓣电影Top250代码实例
Apr 17 Python
python 微信好友特征数据分析及可视化
Jan 07 Python
Python count函数使用方法实例解析
Mar 23 Python
python argparse模块通过后台传递参数实例
Apr 20 Python
Python爬虫HTPP请求方法有哪些
Jun 03 Python
python Timer 类使用介绍
Dec 28 Python
详解Pycharm第三方库的安装及使用方法
Dec 29 Python
Python Django ORM连表正反操作技巧
Jun 13 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
星际争霸 Starcraft 游戏介绍
2020/03/14 星际争霸
discuz authcode 经典php加密解密函数解析
2020/07/12 PHP
php设计模式 Template (模板模式)
2011/06/26 PHP
PHP 无限分类三种方式 非函数的递归调用!
2011/08/26 PHP
PHP利用hash冲突漏洞进行DDoS攻击的方法分析
2015/03/26 PHP
php类中的$this,static,final,const,self这几个关键字使用方法
2015/12/14 PHP
php 实现进制相互转换
2016/04/07 PHP
浅析php中array_map和array_walk的使用对比
2016/11/20 PHP
PHP PDOStatement::execute讲解
2019/01/31 PHP
js中判断对象是否为空的三种实现方法
2013/12/23 Javascript
jQuery操作复选框(CheckBox)的取值赋值实现代码
2017/01/10 Javascript
AngularJS之页面跳转Route实例代码
2017/03/10 Javascript
详解Vue整合axios的实例代码
2017/06/21 Javascript
Javascript中从学习bind到实现bind的过程
2018/01/05 Javascript
JS中的回调函数实例浅析
2018/03/21 Javascript
通过jquery获取上传文件名称、类型和大小的实现代码
2018/04/19 jQuery
vue.js中实现登录控制的方法示例
2018/04/23 Javascript
基于Vue实现图片在指定区域内移动的思路详解
2018/11/11 Javascript
laravel-admin 与 vue 结合使用实例代码详解
2019/06/04 Javascript
基于mpvue的简单弹窗组件mptoast使用详解
2019/08/02 Javascript
基于Node的Axure文件在线预览的实现代码
2019/08/28 Javascript
js实现炫酷光感效果
2020/09/05 Javascript
Angular处理未可知异常错误的方法详解
2021/01/17 Javascript
Python、Javascript中的闭包比较
2015/02/04 Python
用Python遍历C盘dll文件的方法
2015/05/06 Python
浅谈编码,解码,乱码的问题
2016/12/30 Python
一篇文章快速了解Python的GIL
2018/01/12 Python
python取数作为临时极大值(极小值)的方法
2018/10/15 Python
python判断是空的实例分享
2020/07/06 Python
Shopty西班牙:缝纫机在线销售
2018/01/26 全球购物
美国探亲签证邀请信
2014/02/05 职场文书
初级会计求职信范文
2014/02/15 职场文书
解除劳动合同协议书范本
2014/09/13 职场文书
流动人口婚育证明
2014/10/19 职场文书
如何写辞职信
2015/05/13 职场文书
聊聊Python中关于a=[[]]*3的反思
2021/06/02 Python