# autoLogon - 自动登录应用 ## 项目简介 autoLogon是一个自动化网站登录工具,可以帮助用户自动登录多个网站并维护登录状态。该应用通过配置文件管理网站信息,支持使用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, "browser_path": "C:\\Program Files (x86)\\Microsoft\\Edge\\Application\\msedge.exe", "sites": [ { "name": "网站名称", "url": "网站URL", "cookies": [ { "name": "cookie名称", "value": "cookie值", "domain": "域名", "path": "/", "expires": 0, "secure": false, "httpOnly": false } ] } ] } ``` ## 安装依赖 使用以下命令安装项目依赖: ```bash pip install -r requirements.txt ``` ## 使用方法 1. 确保已安装所有依赖 2. 配置`config.json`文件,添加需要自动登录的网站信息 3. 运行主程序: ```bash python main.py ``` ## 工作流程 1. 加载配置文件 2. 遍历处理每个网站: - 从配置中获取cookies(如果有) - 启动浏览器并访问网站 - 设置cookies(如果提供) - 保持登录状态指定时间 - 获取并更新最新cookies到配置 - 关闭当前浏览器页面 3. 保存更新后的配置 4. 关闭浏览器 ## 注意事项 - 确保浏览器路径正确配置,默认使用Edge浏览器 - 配置文件中的`duration`参数表示处理每个网站时的延时时间(秒),默认30秒 - 首次运行时,应用会为没有cookies的网站创建空的cookies配置 - 日志文件保存在`log`目录下,按日期命名 ## 故障排除 - 如遇浏览器启动失败,请检查`browser_path`配置是否正确 - 如遇登录失败,检查网站URL是否正确,以及cookies格式是否符合要求 - 查看日志文件了解详细的错误信息 ## 扩展建议 - 增加对更多浏览器的支持 - 添加自动识别登录状态的功能 - 实现定时任务功能,定期执行自动登录 - 添加图形用户界面进行配置管理