文件上传
🌐 File Upload
browser_file_upload
处理文件选择对话框。当页面打开文件选择器时,工具响应会报告模态状态,其他工具在处理之前都无法运行:
🌐 Handle file chooser dialogs. When a page opens a file picker, the tool response reports the modal state and every other tool refuses to run until it is handled:
### Modal state
- [File chooser]: can be handled by browser_file_upload
| 参数 | 类型 | 是否必填 | 描述 |
|---|---|---|---|
paths | string[] | 否 | 要上传的文件的绝对路径。可以是单个文件或多个文件。如果省略,则文件选择器会被取消 |
→ browser_click { target: "e8" }
### Modal state
- [File chooser]: can be handled by browser_file_upload
→ browser_file_upload { paths: ["/home/user/documents/report.pdf"] }
- text: report.pdf selected
- button "Upload" [ref=e12]
→ browser_click { target: "e12" }
多个文件
🌐 Multiple files
→ browser_file_upload {
paths: [
"/home/user/photos/image1.jpg",
"/home/user/photos/image2.jpg"
]
}
取消文件选择
🌐 Cancel the file chooser
→ browser_file_upload
browser_drop
将文件或 MIME 类型的数据拖到某个元素上,就好像从页面外拖入一样。将其用于那些永远不会打开文件选择器的拖放上传区域。必须至少提供 paths 或 data 中的一个。
🌐 Drop files or MIME-typed data onto an element, as if dragged in from outside the page. Use this for
drag-and-drop upload zones that never open a file chooser. At least one of paths or data must be
provided.
| 参数 | 类型 | 必填 | 描述 |
|---|---|---|---|
target | string | 是 | 来自快照的元素引用,或者一个唯一选择器 |
paths | string[] | 否 | 要拖放到元素上的文件的绝对路径 |
data | object | 否 | 要拖放的数据,作为 MIME 类型到字符串值的映射 |
→ browser_drop {
target: "e7",
paths: ["/home/user/photos/image1.jpg"]
}
→ browser_drop {
target: "e12",
data: { "text/plain": "hello", "text/uri-list": "https://example.com" }
}
要在页面上已经存在的两个元素之间拖动,请改用 browser_drag。
🌐 To drag between two elements already on the page, use browser_drag instead.
note
默认情况下,文件访问仅限于 MCP 工作区根路径内。使用 --allow-unrestricted-file-access 可以允许访问任何地方的文件。