This commit is contained in:
bwstudio
2025-10-18 22:31:17 +08:00
parent 8db81de42a
commit e2b23510a5
2 changed files with 42 additions and 35 deletions
+18 -14
View File
@@ -6,12 +6,11 @@ autoLogon是一个自动化网站登录工具,可以帮助用户自动登录
## 主要功能 ## 主要功能
- 自动登录配置的多个网站 - 自动打开配置的多个网站并设置cookies
- 支持cookies管理,自动保存和更新会话信息 - 支持cookies管理,自动保存和更新会话信息
- 可自定义每个网站的保持登录时间 - 可自定义保持登录时间
- 支持自定义浏览器路径 - 支持自动退出浏览器功能
- 完整的日志记录系统 - 完整的日志记录系统
- 配置文件热更新
## 项目结构 ## 项目结构
@@ -50,7 +49,7 @@ autoLogon/
```json ```json
{ {
"duration": 30, "duration": 30,
"browser_path": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "AutoQuit": true,
"sites": [ "sites": [
{ {
"name": "网站名称", "name": "网站名称",
@@ -71,6 +70,14 @@ autoLogon/
} }
``` ```
**配置项说明**
- `duration`: 保持登录状态的时间(秒)
- `AutoQuit`: 是否在完成后自动退出浏览器(true/false)
- `sites`: 网站配置列表,每个网站包含:
- `name`: 网站名称(用于标识网站)
- `url`: 网站URL地址
- `cookies`: cookies列表,用于自动登录
## 安装依赖 ## 安装依赖
使用以下命令安装项目依赖: 使用以下命令安装项目依赖:
@@ -92,15 +99,12 @@ python main.py
## 工作流程 ## 工作流程
1. 加载配置文件 1. 加载配置文件
2. 遍历处理每个网站: 2. 为所有配置的网站创建标签页并访问URL
- 从配置中获取cookies(如果 3. 为每个网站设置cookies(如果配置了
- 启动浏览器并访问网站 4. 保持登录状态指定时间(根据配置的duration)
- 设置cookies(如果提供) 5. 获取所有页面更新后的cookies
- 保持登录状态指定时间 6. 保存更新后的cookies到配置文件
- 获取并更新最新cookies到配置 7. 根据AutoQuit配置决定是否自动关闭浏览器
- 关闭当前浏览器页面
3. 保存更新后的配置
4. 关闭浏览器
## 注意事项 ## 注意事项
+24 -21
View File
@@ -53,15 +53,18 @@ autoLogon/
### 5.2 登录管理器 (login_manager.py) ### 5.2 登录管理器 (login_manager.py)
**功能**:负责浏览器的初始化、网站登录、cookies管理和会话维护。 **功能**:负责浏览器的初始化、网站访问、cookies管理和会话维护。
**主要类和方法** **主要类和方法**
- `LoginManager`: 登录管理类 - `LoginManager`: 登录管理类
- `__init__()`: 初始化登录管理器 - `__init__()`: 初始化登录管理器
- `login(site_url, cookies=None)`: 登录网站,支持设置cookies - `run()`: 从配置文件读取网站信息,为每个网站新建标签页并加载cookies
- `maintain_login(duration=120)`: 保持登录状态指定时间 - `save_cookies()`: 获取所有页面的cookies并保存到配置文件
- `save_cookies()`: 获取所有页面的cookies - `get_duration()`: 获取配置的持续时间
- `close()`: 关闭浏览器页面 - `close(quit_browser=None)`: 关闭浏览器页面和实例
- `_add_page_metadata(page, name, url, cookies=None)`: 添加页面元数据
- `_set_cookies_to_page(page, cookies, site_name)`: 设置cookies到页面
- `_get_page_cookies(page, site_name, page_url=None)`: 获取页面cookies
### 5.3 日志配置器 (logger_config.py) ### 5.3 日志配置器 (logger_config.py)
@@ -84,25 +87,25 @@ autoLogon/
**主要流程** **主要流程**
1. 初始化配置管理器和登录管理器 1. 初始化配置管理器和登录管理器
2. 加载配置文件 2. 加载配置文件
3. 遍历处理每个网站配置 3. 调用login_manager.run()方法处理所有网站
- 获取网站URL和cookies信息 - 为每个网站创建标签页并访问URL
- 登录网站 - 设置cookies(如果有)
- 保持登录状态指定时间 - 等待页面加载完成
- 获取并更新cookies 4. 获取配置的持续时间并等待指定时间
4. 保存更新后的配置到文件 5. 获取并保存所有页面更新后的cookies
5. 关闭浏览器资源 6. 根据配置决定是否自动关闭浏览器
## 6. 配置文件格式 (JSON) ## 6. 配置文件格式 (JSON)
```json ```json
{ {
"duration": 30, "duration": 30,
"browser_path": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "AutoQuit": true,
"sites": [ "sites": [
{ {
"name": "网站名称", "name": "网站名称",
"url": "网站URL", "url": "网站URL",
"cookies": [ "cookies": [
{ {
"name": "cookie名称", "name": "cookie名称",
"value": "cookie值", "value": "cookie值",
@@ -119,12 +122,12 @@ autoLogon/
``` ```
**配置项说明** **配置项说明**
- `duration`: 处理每个网站时的延时时间(秒),默认30秒 - `duration`: 保持登录状态的时间(秒)
- `browser_path`: 浏览器可执行文件路径(可选 - `AutoQuit`: 是否在完成后自动退出浏览器(true/false
- `sites`: 网站配置列表 - `sites`: 网站配置列表
- `name`: 网站名称 - `name`: 网站名称(用于标识网站)
- `url`: 网站URL - `url`: 网站URL地址
- `cookies`: cookies列表,每个cookie包含完整信息(name, value, domain等) - `cookies`: cookies列表,用于自动登录
``` ```
## 7. 依赖安装 ## 7. 依赖安装