您当前的位置:首页 > IT编程 > python
| C语言 | Java | VB | VC | python | Android | TensorFlow | C++ | oracle | 学术与代码 | cnn卷积神经网络 | gnn | 图像修复 | Keras | 数据集 | Neo4j | 自然语言处理 | 深度学习 | 医学CAD | 医学影像 | 超参数 | pointnet | pytorch | 异常检测 | Transformers | 情感分类 | 知识图谱 |

自学教程:利用Selenium添加cookie实现自动登录的示例代码(fofa)

51自学网 2021-10-30 22:41:27
  python
这篇教程利用Selenium添加cookie实现自动登录的示例代码(fofa)写得很实用,希望能帮到您。

介绍

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 jsonfrom selenium import webdriverdirver = 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)

在这里插入图片描述

可以看到生成cookies_fofa.json

在这里插入图片描述

也就是转化成str的cookies被保存在该文件中

在这里插入图片描述

第一部分完成,获得了页面的cookies,这样获得好处是能知道cookies的格式。

2.添加我们登录账户的cookies实现自动登录

我们可以先登录我们的会员号,然后查看其cookie的名和值,然后添加至下面代码,即可实现自动登录

在这里插入图片描述

代码如下:

import jsonfrom selenium import webdriverbrowser = 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自动登录内容请搜索51zixue.net以前的文章或继续浏览下面的相关文章希望大家以后多多支持51zixue.net!


Python基础之教你怎么在M1系统上使用pandas
python神经网络编程之手写数字识别
万事OK自学网:51自学网_软件自学网_CAD自学网自学excel、自学PS、自学CAD、自学C语言、自学css3实例,是一个通过网络自主学习工作技能的自学平台,网友喜欢的软件自学网站。