脚本之家,脚本语言编程技术及教程分享平台!
分类导航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服务器之家 - 脚本之家 - Python - 利用Selenium添加cookie实现自动登录的示例代码(fofa)

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

2021-10-26 09:39郝有梦想 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

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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)

代码如下:

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
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自动登录内容请搜索服务器之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持服务器之家!

原文链接:https://blog.csdn.net/bring_coco/article/details/116456228

延伸 · 阅读

精彩推荐