温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Selenium添加cookie实现自动登录

发布时间:2021-05-09 15:20:02 来源:亿速云 阅读:2547 作者:小新 栏目:开发技术

小编给大家分享一下如何使用Selenium添加cookie实现自动登录,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

介绍

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实现自动登录

可以看到生成cookies_fofa.json

如何使用Selenium添加cookie实现自动登录

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

如何使用Selenium添加cookie实现自动登录

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

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

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

如何使用Selenium添加cookie实现自动登录

代码如下:

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实现自动登录

如何使用Selenium添加cookie实现自动登录

可以看到成功实现自动登录

以上是“如何使用Selenium添加cookie实现自动登录”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI