127 lines
3.7 KiB
Markdown
127 lines
3.7 KiB
Markdown
# 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格式是否符合要求
|
||
- 查看日志文件了解详细的错误信息
|
||
|
||
## 扩展建议
|
||
|
||
- 增加对更多浏览器的支持
|
||
- 添加自动识别登录状态的功能
|
||
- 实现定时任务功能,定期执行自动登录
|
||
- 添加图形用户界面进行配置管理 |