利用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绘制人人网好友关系图示例
Apr 01 Python
Python中除法使用的注意事项
Aug 21 Python
Python实现字典去除重复的方法示例
Jul 31 Python
matplotlib简介,安装和简单实例代码
Dec 26 Python
python使用mysql的两种使用方式
Mar 07 Python
Flask实现图片的上传、下载及展示示例代码
Aug 03 Python
解决Pycharm下面出现No R interpreter defined的问题
Oct 29 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 Python
Python函数调用追踪实现代码
Nov 27 Python
pycharm2021激活码使用教程(永久激活亲测可用)
Mar 30 Python
详解运行Python的神器Jupyter Notebook
Jun 03 Python
Django实现WebSocket在线聊天室功能(channels库)
Sep 25 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位运算的简单权限设计
2013/06/30 PHP
php生成不重复随机数、数组的4种方法分享
2015/03/30 PHP
用JavaScript调用WebService的示例
2008/04/07 Javascript
javascript动态加载实现方法一
2012/08/22 Javascript
javascript分页代码(当前页码居中)
2012/09/20 Javascript
jquery等待效果示例
2014/05/01 Javascript
jQuery的text()方法用法分析
2014/12/20 Javascript
JavaScript给input的value赋值引发的关于基本类型值和引用类型值问题
2015/12/07 Javascript
自己动手制作基于jQuery的Web页面加载进度条插件
2016/06/03 Javascript
jQuery利用sort对DOM元素进行排序操作
2016/11/07 Javascript
javascript 中设置window.location.href跳转无效问题解决办法
2017/02/09 Javascript
浅谈javascript的url参数parse和build函数
2017/03/04 Javascript
jQuery图片缩放插件smartZoom使用实例详解
2017/08/25 jQuery
深入浅析vue组件间事件传递
2017/12/29 Javascript
微信小程序实现蒙版弹出窗功能
2019/09/17 Javascript
详解Vue的watch中的immediate与watch是什么意思
2019/12/30 Javascript
vue2路由基本用法实例分析
2020/03/06 Javascript
JavaScript中跨域问题的深入理解
2021/03/04 Javascript
[01:43]深扒TI7聊天轮盘语音出处4
2017/05/11 DOTA
python基础教程之Hello World!
2014/08/29 Python
详解Python中contextlib上下文管理模块的用法
2016/06/28 Python
python实现单线程多任务非阻塞TCP服务端
2017/06/13 Python
Python3 伪装浏览器的方法示例
2017/11/23 Python
Selenium控制浏览器常见操作示例
2018/08/13 Python
css3的transform中scale缩放详解
2014/12/08 HTML / CSS
英国玛莎百货澳大利亚:Marks & Spencer Australia
2019/08/30 全球购物
香奈儿美国官网:CHANEL美国
2020/05/20 全球购物
如何强制垃圾回收
2015/10/06 面试题
感恩母亲节演讲稿
2014/05/07 职场文书
本科毕业生自荐信
2014/05/26 职场文书
活动总结新闻稿
2014/08/30 职场文书
2014年优秀党员材料
2014/12/18 职场文书
岳庙导游词
2015/02/04 职场文书
世界卫生日宣传活动总结
2015/02/09 职场文书
数学考试作弊检讨书300字
2015/02/16 职场文书
Python django中如何使用restful框架
2021/06/23 Python