Files
2025-10-18 22:31:17 +08:00

127 lines
3.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# autoLogon - 自动登录应用
## 项目简介
autoLogon是一个自动化网站登录工具,可以帮助用户自动登录多个网站并维护登录状态。该应用通过配置文件管理网站信息,支持使用cookies维持登录会话,并能自动保存和更新cookies。
## 主要功能
- 自动打开配置的多个网站并设置cookies
- 支持cookies管理,自动保存和更新会话信息
- 可自定义保持登录时间
- 支持自动退出浏览器功能
- 完整的日志记录系统
## 项目结构
```
autoLogon/
├── main.py # 应用主入口
├── login_manager.py # 登录管理器
├── config.py # 配置管理器
├── logger_config.py # 日志配置
├── config.json # 配置文件
├── requirements.txt # 依赖列表
└── log/ # 日志文件夹
```
## 核心文件说明
### main.py
应用的主入口文件,包含`AutoLoginApp`类,负责初始化各个管理器并协调它们的工作流程,包括加载配置、处理网站列表、执行登录操作等。
### login_manager.py
登录管理器,封装了与浏览器相关的操作,负责网站登录、cookies设置与获取、保持登录状态等功能。使用DrissionPage库实现浏览器自动化。
### config.py
配置管理器,负责加载、保存和管理应用配置,包括网站列表、浏览器路径等信息。
### logger_config.py
日志配置模块,设置全局日志记录器,支持文件和控制台双重输出。
### config.json
应用配置文件,使用JSON格式存储,包含以下主要配置项:
- `sites`:网站配置列表
- `browser_path`:浏览器可执行文件路径
## 配置文件格式
```json
{
"duration": 30,
"AutoQuit": true,
"sites": [
{
"name": "网站名称",
"url": "网站URL",
"cookies": [
{
"name": "cookie名称",
"value": "cookie值",
"domain": "域名",
"path": "/",
"expires": 0,
"secure": false,
"httpOnly": false
}
]
}
]
}
```
**配置项说明**
- `duration`: 保持登录状态的时间(秒)
- `AutoQuit`: 是否在完成后自动退出浏览器(true/false)
- `sites`: 网站配置列表,每个网站包含:
- `name`: 网站名称(用于标识网站)
- `url`: 网站URL地址
- `cookies`: cookies列表,用于自动登录
## 安装依赖
使用以下命令安装项目依赖:
```bash
pip install -r requirements.txt
```
## 使用方法
1. 确保已安装所有依赖
2. 配置`config.json`文件,添加需要自动登录的网站信息
3. 运行主程序:
```bash
python main.py
```
## 工作流程
1. 加载配置文件
2. 为所有配置的网站创建标签页并访问URL
3. 为每个网站设置cookies(如果配置了)
4. 保持登录状态指定时间(根据配置的duration)
5. 获取所有页面更新后的cookies
6. 保存更新后的cookies到配置文件
7. 根据AutoQuit配置决定是否自动关闭浏览器
## 注意事项
- 确保浏览器路径正确配置,默认使用Edge浏览器
- 配置文件中的`duration`参数表示处理每个网站时的延时时间(秒),默认30秒
- 首次运行时,应用会为没有cookies的网站创建空的cookies配置
- 日志文件保存在`log`目录下,按日期命名
## 故障排除
- 如遇浏览器启动失败,请检查`browser_path`配置是否正确
- 如遇登录失败,检查网站URL是否正确,以及cookies格式是否符合要求
- 查看日志文件了解详细的错误信息
## 扩展建议
- 增加对更多浏览器的支持
- 添加自动识别登录状态的功能
- 实现定时任务功能,定期执行自动登录
- 添加图形用户界面进行配置管理