--- last_reviewed: 2026-06-12 --- # bot — 浏览器自动化填报模块 使用 Playwright 操作财务报销系统,自动完成登录、填单、上传附件等操作。 ## 模块清单 | 文件 | 说明 | |------|------| | `__init__.py` | 对外入口:`run_bot()` 和 `run_bot_web()`,负责类型判断和流程路由 | | `base.py` | `BaseBot` 基类:浏览器生命周期、登录、导航、截图、日期格式化 | | `travel.py` | 差旅报销填报流程:基本信息 → 差旅明细 → 支付方式 → 补助清单 → 附件上传 | | `normal.py` | 普通发票报销填报流程:基本信息 → 总明细 → 支付方式 → 附件上传 | ## 架构设计 ``` run_bot(config, travel_info, normal_info) ├── 创建 BaseBot,启动浏览器,登录门户 ├── travel_info 存在 → travel.run(bot, travel_info) └── normal_info 存在 → normal.run(bot, normal_info) ``` - **`BaseBot`** 只保留公共操作(launch、login、navigate、create_new_form、close、screenshot) - **差旅/普通流程** 作为独立函数接受 `bot: BaseBot` 参数,符合函数式编程偏好 - **`__init__.py`** 仅做路由分发,不包含具体填报逻辑 ## 变更历史 - **2026-06-12**:从 `bot.py` 单文件重构为 `bot/` 包,分离差旅和普通报销逻辑