selenium利用cookies实现自动登录

简介: selenium利用cookies实现自动登录

原理很简单,首先手动完成登录后,把cookies保存到本地,下次再把cookies注入到浏览器里面,就自动实现了登录


最近在学习写python的自动化脚本,但是发现测试工具打开之后的网页是没有用户自己打开浏览器时记录的cookie,简单来说也就是打开的网站不会自己登录,所以想要简单的实现下如何用cookie来登录

总的来说分两步

cookies是用户的凭证,只要有cookies这一串字符串,服务器那头就能识别是哪个用户。

第一步,把cookies保存到本地

from selenium import webdriver
import json
### 下面是chromedriver路径,自己填
browser = webdriver.Chrome("###########")
### 打开要自动登录的网站,比如说csdn
browser.get("https://www.csdn.net/")
###手动完成登录后,随便在控制台输入内容,就保存下来了
input("等待登录成功,登录成功后随便输入内容。")
dictCookies = browser.get_cookies()
jsonCookies = json.dumps(dictCookies)
with open('cookies.txt', 'w') as f:
    f.write(jsonCookies)
print('cookies保存成功!')

下次启动就能实现自动登录了

第二步,把保存到本地的cookies注入到浏览器里面

首先要清楚网站的domain是什么,去cookies里面找

from selenium import webdriver
import json
### 下面是chromedriver路径,自己填
browser = webdriver.Chrome("###########")
### 打开要自动登录的网站
browser.get("https://www.csdn.net/")
with open(name, 'r', encoding='utf8') as f:
    listCookies = json.loads(f.read())
for cookie in listCookies:
    cookie_dict = {
        ### 这个domain看cookies第一个字段就知道了,需要找到并填入
        'domain': '########',
        'name': cookie.get('name'),
        'value': cookie.get('value'),
        "expires": '',
        'path': '/',
        'httpOnly': False,
        'HostOnly': False,
        'Secure': False
        }
    browser.add_cookie(cookie_dict)
    # browser.refresh()  # 刷新网页,cookies才成功
browser.get("https://www.csdn.net/")

这样最后启动的浏览器就能自动登录了

相关文章
|
9月前
|
Web App开发
selenium自动登录某宝
selenium自动登录某宝
|
数据安全/隐私保护 Python
selenium实现自动登录B站
selenium实现自动登录B站
selenium实现自动登录B站
python+selenium 通过添加cookies或token解决网页上验证码登录问题
cookie或token可以保存登录信息,当我们拿到cookie后,可以通过向浏览器发送cookie中记录的数据,直接变成登录状态,不需要再登录。
1895 0
|
8天前
|
数据采集 Web App开发 数据挖掘
利用Python和Selenium实现定时任务爬虫
利用Python和Selenium实现定时任务爬虫
|
8天前
|
JavaScript 前端开发 测试技术
Python Selenium基本用法
Python Selenium基本用法
38 2
|
8天前
|
Web App开发 数据采集 前端开发
基于Python的Selenium详解:从入门到实践
基于Python的Selenium详解:从入门到实践
127 0
|
3天前
|
Web App开发 负载均衡 前端开发
Python网络数据抓取(7):Selenium 模拟
Python网络数据抓取(7):Selenium 模拟
23 5
|
6天前
|
机器学习/深度学习 Java 数据挖掘
selenium的配置与基本使用(1),2024年最新网易Python面试必问
selenium的配置与基本使用(1),2024年最新网易Python面试必问