Files
alert-contract-expiring-hr/scripts/service
taojianmin 213ab5e209 v1.1.1: platform_collector RPA 流程跑通(headless 抓 3 行)
修复 Playwright 自动化流程稳定性问题:

1. 提取辅助函数 _goto / _fill_root_login / _click_campus_link / _fill_spa_login,
   每个失败独立处理,避免一处报错阻塞后续步骤

2. 强化导航路径:强制 goto /select → click 智慧校园 → goto sandbox SPA login →
   SPA login → 强制 goto SPA_HOME → 等侧边栏 link 出现 → click hr/contracts
   - 即使 sandbox 后端跳走不一致(root login demo/123456 不稳定),也能继续

3. SPA 路由 vs 整页 reload:
   - click 侧边栏 link 优先(SPA pushState,避免 goto 触发整页 reload 被踢回 login)
   - 兜底用 history.pushState + dispatchEvent('popstate') 触发 SPA 路由

4. 表格渲染等待:
   - 增加 3s 初始等待 + 20 次重试(共 40s),给 SPA 异步填充 mock 数据时间

5. 材料下载按钮检查:
   - 检查 '续聘材料包' 按钮是否存在;当前 sandbox mock 未部署此按钮,
     自动跳过下载(仅采集 6 列:姓名/单位/到期日/剩余天数/预警/建议)

6. 调试 dump:
   - SPA home → spa_home_dump.html
   - hr/contracts → hr_contracts_dump.html
   - 失败兜底 → sandbox_dump.html

实测结果(headless=True,profile cookie 复用):
- 抓 3 行合同落库(RPA-钱实验-20260415 / 孙助理 / 王明远)
- sandbox 未部署材料包按钮,跳过下载(不阻塞采集)
- 所有 11 个 CLI exit code = 0

Co-Authored-By: Claude Code <noreply@anthropic.com>
2026-09-14 15:36:19 +08:00
..