利用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 实现简单的电话本功能
Aug 09 Python
Python打包可执行文件的方法详解
Sep 19 Python
python导出chrome书签到markdown文件的实例代码
Dec 27 Python
替换python字典中的key值方法
Jul 06 Python
Python将一个Excel拆分为多个Excel
Nov 07 Python
python ddt数据驱动最简实例代码
Feb 22 Python
python实现在线翻译功能
Mar 03 Python
Python验证码截取识别代码实例
May 16 Python
python 实现汉诺塔游戏
Nov 28 Python
python实现马丁策略回测3000只股票的实例代码
Jan 22 Python
Python超简单容易上手的画图工具库推荐
May 10 Python
Python序列化与反序列化相关知识总结
Jun 08 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 fopen()和 file_get_contents()应用与差异介绍
2014/03/19 PHP
php判断手机浏览还是web浏览,并执行相应的动作简单实例
2016/07/28 PHP
php+ajax简单实现全选删除的方法
2016/12/06 PHP
JavaScript的Function详细
2006/11/14 Javascript
jQuery对表单的操作代码集合
2011/04/06 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
node.js中的fs.lchownSync方法使用说明
2014/12/16 Javascript
浅谈javascript 函数属性和方法
2015/01/21 Javascript
javascript实现全局匹配并替换的方法
2015/04/27 Javascript
Bootstrap 3.x打印预览背景色与文字显示异常的解决
2016/11/06 Javascript
微信小程序 开发之快递查询功能的实现
2017/01/09 Javascript
js读取json文件片段中的数据实例
2017/03/09 Javascript
angular仿支付宝密码框输入效果
2017/03/25 Javascript
详解angularJS动态生成的页面中ng-click无效解决办法
2017/06/19 Javascript
微信小程序实现选项卡功能
2020/06/19 Javascript
JavaScript使用类似break机制中断forEach循环的方法
2018/11/13 Javascript
node事件循环和process模块实例分析
2020/02/14 Javascript
微信小程序实现限制用户转发功能的实例代码
2020/02/22 Javascript
微信小程序scroll-view实现滚动到锚点左侧导航栏点餐功能(点击种类,滚动到锚点)
2020/06/11 Javascript
Vue + Element-ui的下拉框el-select获取额外参数详解
2020/08/14 Javascript
Javascript实现贪吃蛇小游戏(含详细注释)
2020/10/23 Javascript
Python实现学生成绩管理系统
2020/04/05 Python
Python cookbook(数据结构与算法)将名称映射到序列元素中的方法
2018/03/22 Python
Django中使用第三方登录的示例代码
2018/08/20 Python
通过python将大量文件按修改时间分类的方法
2018/10/17 Python
Python autoescape标签用法解析
2020/01/17 Python
卡塔尔航空官方网站:Qatar Airways
2017/02/08 全球购物
HelloFresh奥地利:立即订购烹饪盒
2019/02/22 全球购物
美国基督教约会网站:ChristianCafe.com
2020/02/04 全球购物
电子商务毕业生求职信
2013/11/10 职场文书
四年级数学教学反思
2014/02/02 职场文书
学校联谊协议书
2014/09/16 职场文书
2016秋季校长开学典礼致辞
2015/11/26 职场文书
导游词之西江千户苗寨
2019/12/24 职场文书
高端收音机+蓝牙音箱,JBL TUNER FM带收音蓝牙音箱评测
2021/04/24 无线电
golang操作rocketmq的示例代码
2022/04/06 Golang