Skip to main content

文件上传

🌐 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
参数类型是否必填描述
pathsstring[]要上传的文件的绝对路径。可以是单个文件或多个文件。如果省略,则文件选择器会被取消
→ 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 类型的数据拖到某个元素上,就好像从页面外拖入一样。将其用于那些永远不会打开文件选择器的拖放上传区域。必须至少提供 pathsdata 中的一个。

🌐 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.

参数类型必填描述
targetstring来自快照的元素引用,或者一个唯一选择器
pathsstring[]要拖放到元素上的文件的绝对路径
dataobject要拖放的数据,作为 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 可以允许访问任何地方的文件。