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