360 Secure SkillHub
360 安全技能中心

upload-file

提供基于 agent-browser CLI 的浏览器文件上传流程:按打开页面、等待加载、触发文件输入、上传、快照验证的固定步骤逐条执行,支持选择器回退策略,并推荐改用 Python 脚本上传。SKILL.md 引用的 scripts/upload_file.py 在文件列表中不存在,仓库仅有 scripts/upload.py。

m1ss-cell
m1ss-cell
热度 48.06
最近更新 2026-05-11 17:42:28
分类:自动化依赖:联网浏览搜索 / 代码执行 / 读写文件应用场景:自动化脚本 / 工作流

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add upload-file
Metadata
name
browser-file-upload
description
MUST be used for any browser file upload task. Provides reliable, step-by-step automation for uploading files via agent-browser CLI. Includes strict execution protocol, fallback strategies, and path normalization.

Browser File Upload (Industrial-Grade)

Automates file uploads to web pages using agent-browser CLI with high reliability.


🔥 Execution Protocol (MANDATORY)

You MUST follow strict state-machine execution:

  1. Execute ONLY ONE command at a time
  2. WAIT for result before next step
  3. VERIFY success before continuing
  4. If failed → retry or fallback
  5. DO NOT skip steps
  6. DO NOT batch commands
  7. DO NOT assume elements exist

🔥 Standard Upload Pipeline (REQUIRED)

Follow this exact sequence:

Step 1 — Open Page

agent-browser open

Step 2 — Wait for Load

agent-browser wait 2000

If page is slow: agent-browser wait --load networkidle


Step 3 — Trigger File Input

Try in order:

  1. agent-browser find text "选择文件" click
  2. agent-browser find text "上传" click
  3. agent-browser click "[type=file]"

If all fail: agent-browser snapshot


Step 4 — Upload File

Preferred selector: agent-browser upload "[type=file]"

If selector known: agent-browser upload ""


Step 5 — Verify Upload (IMPORTANT)

agent-browser snapshot

Check:

  • File name appears
  • No error message
  • Input is not empty

If failed → retry upload once


🔥 Strategy Selection

Priority:

  1. ✅ Python script (MOST STABLE)
  2. ⚠️ agent-browser commands (when selector known)

🔥 Python Script Mode (Recommended)

Use for robust execution:

python scripts/upload_file.py <url> <file-path> [selector] [wait_ms]