diff --git a/README.md b/README.md index bfa5989..789ec04 100644 --- a/README.md +++ b/README.md @@ -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配置决定是否自动关闭浏览器 ## 注意事项 diff --git a/开发文档.md b/开发文档.md index 55ac0cc..bdeb3ed 100644 --- a/开发文档.md +++ b/开发文档.md @@ -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,25 +87,25 @@ 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": "网站名称", - "url": "网站URL", - "cookies": [ + "name": "网站名称", + "url": "网站URL", + "cookies": [ { "name": "cookie名称", "value": "cookie值", @@ -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. 依赖安装