cookies登录与退出

szafa0610
2025-06-25 16:02
79
一、场景一:后台直接退出登录
1.1 场景说明

这是一个已登录的网页(以哔哩哔哩为例),
如果要模拟人工点击去退出登录,需要点点点:
鼠标悬浮到头像、点击退出登录、再点击确认。每一个网页,元素都不一样。
综上所述,可以把方法抽离出来,直接一键退出登录。
1.2 实现原理
代码实现
from common.util.shared_variables import GetSharedVariable
from common.util.elements_util import elementsFormatNew
from projects.rpaRoot import SZEnv
from ..global_data import SHIZAI_ELEMENT_DICT, globalVar
from ..global_data import run_module, print
def main():
pass
import os
import shutil
import platform
from pathlib import Path
def clear_chrome_data(profiles):
system = platform.system()
if system != "Windows":
raise NotImplementedError("目前仅支持Windows系统")
# 统一目标列表
targets = [
("Local Storage", "本地存储"),
("Session Storage", "会话存储"),
("IndexedDB", "数据库存储"),
("Cookies", "Cookies文件"),
# ("Web Data", "自动填充数据"),
("Local Storage", "本地存储"),
("WebStorage", "自动填充数据"),
("Sessions", "登录凭证数据库"),
("Network", "网络Cookies"),
# ("Extensions", "扩展插件数据"),
("Cache", "浏览器缓存"),
("Media Cache", "媒体缓存"),
("File System", "文件系统存储"),
("Service Worker", "服务工作者缓存"),
("GPUCache", "GPU缓存"),
("GrShaderCache", "图形着色器缓存"),
("Application Cache", "应用缓存"),
("blob_storage", "二进制大对象存储")
]
backup_root = Path(os.path.join(os.environ["USERPROFILE"], "Desktop")) / "Chrome_Backup"
backup_root.mkdir(exist_ok=True)
chrome_data = Path(os.environ["LOCALAPPDATA"]) / "Google\\Chrome\\User Data"
print(chrome_data)
profiles = [d for d in chrome_data.iterdir()
if d.is_dir() and d.name.startswith(profiles)]
print(profiles)
for profile in profiles:
print(f"\n🔍 正在处理配置目录: {profile.name}")
for dir_name, desc in targets:
src = profile / dir_name
print(src)
if not src.exists():
print(f"⏩ 跳过不存在的目录: {desc}")
continue
try:
dest = backup_root / profile.name / dir_name
dest.parent.mkdir(parents=True, exist_ok=True)
# 如果目标目录已存在,先删除
if dest.exists():
shutil.rmtree(dest)
# 复制整个目录
shutil.copytree(str(src), str(dest))
print(f"✅ 成功复制 {desc} 到: {dest}")
# 清空源目录中的所有文件
for item in src.iterdir():
if item.is_file():
item.unlink()
elif item.is_dir():
shutil.rmtree(item)
print(f"✅ 已清空源目录: {desc}")
except Exception as e:
print(f"❌ 操作失败: {desc} - {str(e)}")1.3 实现效果

1.4 封装成业务组件
网页打开+账号登录的情况下,直接运行就好。

二、后续会分享
后续有时间有机会,会分享,关于cookie登录和退出的其他场景:
场景三:cookies退出登录之后,怎么cookies一键登录
场景四:一个谷歌浏览器用cookies切换登录
场景五:多个谷歌浏览器(分身)用cookies批量退出登录+登录
场景六:谷歌浏览器账号cookies登录保活
1人点赞
后可进行评论
小红书博主主页笔记采集,一键获取笔记数据
1回答
📢更新速递 | 实在Agent V7.2.0 上线——重磅更新,震撼来袭!
0回答
XPath应该怎么写
17回答
关于高级工程师考试的问题?
5回答
高级考试
3回答
扫码关注
获取专业的解决方案
帮您实现业务爆发式的增长




