36 lines
1.8 KiB
Markdown
36 lines
1.8 KiB
Markdown
# ALIGNMENT - 报表自动化任务
|
|
|
|
## 1. 原始需求
|
|
自动化完成从 `secsion.com` 导出报表并上传至 `94kan.cn` 的全流程。
|
|
|
|
## 2. 任务特性规范
|
|
- **技术栈**: Python + Playwright (由于涉及复杂的浏览器交互、HTTPS证书处理、文件下载和上传,Playwright 是最佳选择)。
|
|
- **运行环境**: Windows 操作系统。
|
|
- **目标网站 1**: `https://secsion.com:8000/` (B端电商店铺类后台管理)。
|
|
- **目标网站 2**: `https://sale.94kan.cn/` (销售数据分析器)。
|
|
|
|
## 3. 需求理解与边界确认
|
|
### 3.1 任务流程
|
|
1. **登录阶段**: 访问登录页 -> 选择角色"店铺" -> 输入账号密码 -> 登录。
|
|
2. **报表导出阶段**: 访问统计页 -> 设置日期 (2026-04-18) -> 导出报表。
|
|
3. **报表上传阶段**: 访问上传页 -> 上传下载的文件 -> 等待结果。
|
|
|
|
### 3.2 边界与限制
|
|
- **HTTPS 证书**: 必须忽略证书错误或自动点击继续。
|
|
- **文件下载**: 需捕获动态下载的文件并保存到指定路径。
|
|
- **文件上传**: 需定位隐藏的 input 元素或直接操作上传。
|
|
- **登录状态**: 初始实现为单次任务流,后续可考虑持久化 Context。
|
|
|
|
## 4. 疑问澄清与智能决策
|
|
- **Q**: 网站访问可能由于网络限制失败?
|
|
- **A**: 使用浏览器自动化直接访问,不通过后端 API 库,通常能绕过简单的跨域或内网限制。
|
|
- **Q**: 证书警告处理?
|
|
- **A**: Playwright 的 `browser_context(ignore_https_errors=True)` 可全局解决。
|
|
- **Q**: 文件名动态变化?
|
|
- **A**: 使用 Playwright 的 `expect_download()` 监听器获取真实文件名。
|
|
|
|
## 5. 验收标准
|
|
- [ ] 成功下载以 `.xlsx` 结尾的报表文件。
|
|
- [ ] 成功在 `94kan.cn` 触发上传动作。
|
|
- [ ] 控制台输出清晰的操作日志。
|