# 发布功能测试说明
## 功能概述
已完成小红书图文发布功能的实现,基于原版 Go 代码移植到 Python + Playwright。
## 功能特性
✅ **已实现的功能:**
1. 导航到小红书创作中心
2. 点击"上传图文" TAB
3. 上传多张图片(支持批量上传)
4. 填写标题和正文内容
5. 自动添加话题标签(支持标签联想)
6. 检查标题和正文长度限制
7. 提交发布
## 测试方式
### 方式 1:手动测试(推荐)
运行简化版测试脚本,浏览器会自动打开发布页面,你可以手动完成发布:
```bash
python simple_publish_test.py
```
**操作步骤:**
1. 脚本会打开浏览器并导航到创作中心
2. 如需登录,请先完成登录
3. 手动上传宠物图片
4. 复制脚本提供的标题和内容
5. 粘贴到对应位置
6. 点击发布按钮
7. 完成后按 Ctrl+C 退出
### 方式 2:API 测试(需要图片)
如果你有实际的宠物图片,可以通过 API 自动发布:
```bash
# 1. 修改 test_publish_complete.py,添加图片路径
# 2. 运行测试
python test_publish_complete.py
```
**修改示例:**
```python
"images": [
"/Users/xxx/Pictures/cat1.jpg",
"/Users/xxx/Pictures/cat2.jpg"
]
```
### 方式 3:通过 HTTP API
```bash
curl -X POST http://localhost:18060/api/v1/publish \
-H "Content-Type: application/json" \
-d '{
"title": "我家的小猫咪太可爱了!🐱",
"content": "今天给我家的小橘猫拍了几张照片,真的太萌了!\n\n#宠物 #猫咪 #萌宠",
"images": ["/path/to/cat.jpg"],
"tags": ["宠物", "猫咪", "萌宠", "橘猫"]
}'
```
## 测试内容
**标题:** 我家的小猫咪太可爱了!🐱
**正文:**
```
今天给我家的小橘猫拍了几张照片,真的太萌了!
看它这个小眼神,是不是超级可爱?每天回家看到它就觉得一天的疲惫都消失了。
养猫的快乐,只有养过的人才懂~
```
**标签:** #宠物 #猫咪 #萌宠 #橘猫 #日常分享
## 注意事项
1. **必须登录**:发布功能需要登录状态,请先运行 `python test_login.py` 完成登录
2. **需要图片**:小红书图文内容至少需要 1 张图片
3. **非无头模式**:当前服务配置为非无头模式(`HEADLESS=false`),发布时会看到浏览器窗口
4. **标签限制**:最多支持 10 个标签
5. **长度限制**:
- 标题:最多 20 个字符
- 正文:最多 1000 个字符
## 实现细节
基于原版 Go 代码(`xiaohongshu-mcp/xiaohongshu/publish.go`)完整移植:
- ✅ TAB 点击逻辑(处理遮挡)
- ✅ 图片上传和等待完成
- ✅ 标题和内容填写
- ✅ 标签自动联想和选择
- ✅ 长度检查和验证
- ✅ 发布按钮点击
## 故障排查
### 问题 1:服务未启动
```bash
# 启动服务
python main.py
```
### 问题 2:未登录
```bash
# 运行登录测试
python test_login.py
```
### 问题 3:图片路径无效
- 确保图片文件存在
- 使用绝对路径
- 支持的格式:JPG, PNG, GIF
### 问题 4:发布超时
- 检查网络连接
- 图片大小不要太大(建议 < 5MB)
- 增加超时时间
## 下一步
如果需要发布视频内容,可以使用 `publish_video.py` 模块(已实现骨架,需要完善)。