SKILL.md - 百度文库上传管理自动化
功能说明
模拟人类操作,批量管理百度文库上传文件:识别状态、删除未通过、下载修改、重新上传。
核心流程
Phase 1: 登录与页面准备
# 1. 打开浏览器
npx agent-browser open https://wenku.baidu.com/user/upload
# 2. 等待登录完成,获取页面内容
npx agent-browser wait --load networkidle
npx agent-browser snapshot -i
# 3. 截图记录当前状态
npx agent-browser screenshot --full current_state.png
Phase 2: 识别未通过文件(鼠标悬停查看详情)
# 鼠标悬停到文件行,查看状态和原因
npx agent-browser hover <file_row_selector>
# 等待tooltip显示
npx agent-browser wait 1000
# 获取tooltip内容(包含不通过原因)
npx agent-browser get text <tooltip_selector>
# 截图记录
npx agent-browser screenshot tooltip.png
Phase 3: 鼠标点击删除(模拟人类操作)
# 方法1:直接点击删除按钮
npx agent-browser mouse move <x> <y> # 移动到删除按钮
npx agent-browser mouse down # 按下鼠标
npx agent-browser mouse up # 释放鼠标
# 方法2:使用元素点击
npx agent-browser click <delete_button_selector>
# 方法3:使用坐标点击(通过截图确定位置)
npx agent-browser click <x>,<y>
# 等待确认弹窗
npx agent-browser wait 500
# 点击确认删除
npx agent-browser click <confirm_button_selector>
Phase 4: 下载文档到本地
# 找到下载按钮并点击
npx agent-browser click <download_button_selector>
# 或者使用右键菜单下载
npx agent-browser click <file_row_selector> button=secondary
npx agent-browser find text 下载 click
Phase 5: 分析原因并修改
根据不通过原因分类处理:
- 格式问题 → 转换为PDF/PPT
- 内容违规 → 修改敏感词
- 质量问题 → 完善文档内容
- 侵权问题 → 添加原创标识
Phase 6: 重新上传
# 点击上传按钮
npx agent-browser click <upload_button_selector>
# 上传文件
npx agent-browser upload <file_input_selector> <file_path>
# 填写标题和描述
npx agent-browser type <title_input> "文档标题"
npx agent-browser type <desc_input> "文档描述"
# 提交上传
npx agent-browser click <submit_button>
关键选择器(需根据实际页面调整)
百度文库上传页面结构
.upload-list
.upload-item
.file-name # 文件名
.file-status # 状态(已通过/未通过/审核中)
.file-status.failed # 未通过状态(红色)
.reason-text # 不通过原因
.btn-download # 下载按钮
.btn-delete # 删除按钮
.btn-edit # 编辑按钮
.pagination
.page-next # 下一页按钮
鼠标操作技巧
# 移动到元素中心
npx agent-browser mouse move <selector>
# 精确坐标移动(先截图确定位置)
npx agent-browser mouse move 500 300
# 双击
npx agent-browser dblclick <selector>
# 右键点击
npx agent-browser click <selector> button=secondary
页面等待策略
# 等待元素出现
npx agent-browser wait <selector>
# 等待网络空闲
npx agent-browser wait --load networkidle
# 等待固定时间
npx agent-browser wait 2000
# 等待弹窗
npx agent-browser wait .confirm-dialog
错误处理
- 超时错误 → 增加wait时间
- 元素不存在 → 检查页面结构,调整选择器
- 弹窗遮挡 → 先处理弹窗
- 需要登录 → 暂停等待用户登录
截图与调试
# 全页截图
npx agent-browser screenshot --full full_page.png
# 带标注的截图(用于AI分析)
npx agent-browser screenshot --annotate annotated.png
# 获取元素位置
npx agent-browser get box <selector>
自动化脚本模板
# -*- coding: utf-8 -*-
"""百度文库上传管理自动化"""
def main():
print("1. 打开上传管理页面")
# npx agent-browser open https://wenku.baidu.com/user/upload
print("2. 等待页面加载")
# npx agent-browser wait --load networkidle
print("3. 获取上传列表")
# snapshot = npx agent-browser snapshot -i
print("4. 分析未通过文件")
# for file in failed_files:
# hover_and_get_reason(file)
# download_and_fix(file)
# reupload(file)
print("5. 完成")
if __name__ == "__main__":
main()
依赖项
- Node.js
- agent-browser (
npm install -g agent-browser) - Python 3.x(用于脚本自动化)
注意事项
- 百度文库页面可能更新,需定期更新选择器
- 删除操作不可逆,建议先截图备份
- 上传频率限制,避免短时间内大量上传
- 部分功能可能需要会员权限