利用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 相关文章推荐
图文详解WinPE下安装Python
May 17 Python
Python变量和数据类型详解
Feb 15 Python
Python实现的计算器功能示例
Apr 26 Python
Python Django框架实现应用添加logging日志操作示例
May 17 Python
pytorch 在网络中添加可训练参数,修改预训练权重文件的方法
Aug 17 Python
Python print不能立即打印的解决方式
Feb 19 Python
Python3 hashlib密码散列算法原理详解
Mar 30 Python
python中可以声明变量类型吗
Jun 18 Python
python中的测试框架
Nov 13 Python
搭建pypi私有仓库实现过程详解
Nov 25 Python
selenium.webdriver中add_argument方法常用参数表
Apr 08 Python
Python time库的时间时钟处理
May 02 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
超外差式晶体管收音机的组装与统调
2021/03/01 无线电
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
PHP的简易冒泡法代码分享
2012/08/28 PHP
PHP使用CURL实现对带有验证码的网站进行模拟登录的方法
2014/07/23 PHP
php curl操作API接口类完整示例
2019/05/21 PHP
离开页面时检测表单元素是否被修改,提示保存的js代码
2010/08/25 Javascript
让JavaScript拥有类似Lambda表达式编程能力的方法
2010/09/12 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
JQuery选择器绑定事件及修改内容的方法
2015/01/23 Javascript
编写高性能Javascript代码的N条建议
2015/10/12 Javascript
JS与jQ读取xml文件的方法
2015/12/08 Javascript
Jquery判断form表单数据是否变化
2016/03/30 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(二)
2016/05/17 Javascript
Javascript es7中比较实用的两个方法示例
2017/07/21 Javascript
webpack+vue中使用别名路径引用静态图片地址
2017/11/20 Javascript
node.js命令行教程图文详解
2019/05/27 Javascript
vue安装遇到的5个报错及解决方法
2019/06/12 Javascript
[07:47]DOTA2国际邀请赛采访专栏:探访Valve总部
2013/08/08 DOTA
python登陆asp网站页面的实现代码
2015/01/14 Python
python MySQLdb Windows下安装教程及问题解决方法
2015/05/09 Python
python读取二进制mnist实例详解
2017/05/31 Python
Python 读取指定文件夹下的所有图像方法
2018/04/27 Python
Python合并多个Excel数据的方法
2018/07/16 Python
python 限制函数执行时间,自己实现timeout的实例
2019/01/12 Python
浅谈python元素如何去重,去重后如何保持原来元素的顺序不变
2020/02/28 Python
Python实现对adb命令封装
2020/03/06 Python
Python ATM功能实现代码实例
2020/03/19 Python
Python批量将图片灰度化的实现代码
2020/04/11 Python
python实现简单的学生管理系统
2021/02/22 Python
自定义html标记替换html5新增元素
2008/10/17 HTML / CSS
HTML5组件Canvas实现图像灰度化(步骤+实例效果)
2013/04/22 HTML / CSS
简述网络文件系统NFS,并说明其作用
2016/10/19 面试题
学校就业推荐信范文
2014/05/19 职场文书
物业品质提升方案
2014/06/08 职场文书
2015年度护士个人工作总结
2015/04/09 职场文书
一文搞懂Redis中String数据类型
2022/04/03 Redis