Skip to content

命令清单 ​

本文按功能分组列出当前工程的注册方法,用于快速定位「这件事该用哪个方法」。这是方法名与用途索引,不是每条命令的完整参数手册。参数以源码 CommandTable 的注册及服务实现为准,使用说明位于 .agents/skills/deepseek-browser-use/SKILL.md 及其 references/ 分册。

完整实现教程从 14:公共执行链 开始,后续按功能覆盖本表全部命令,并列出注册参数和 Java 入口。

随时可以用 list_methods 或 GET /playwright/methods 取到同一份清单,不必靠猜;方法名写错时服务会顺带给近似建议(例如「不支持的方法:list_tabs,你是不是想用 get_tabs / new_tab?」)。

除本文列出的注册方法外,还有一个批量入口 commands:它不出现在方法清单里,由分发层直接处理,可以一次提交多个方法。见 04 第四节。

一、生命周期(5) ​

方法用途
start启动任务(不传 ID 时自动生成雪花 ID),可指定 headless、browser 与 profile,或 userDataDir / profileDirectory(见 39)
close结束任务,最后一个任务保留浏览器与页面;closeBrowser:true 才显式关闭(有其他任务时拒绝)
shutdown关掉全部任务与共享浏览器,服务进程不退出
targets参数 endpoint;列出外部 CDP 端点上的页面(targetId、url、type、title),只读,不建任务
attach参数 endpoint 和 targetId 或 url;把一个外部 CDP 页面接成任务,必须恰好匹配一个目标,close 只断开连接

二、导航(7) ​

方法用途
navigate打开网址(与 go_to_url 等价)
go_to_url打开网址,支持 waitUntil(默认 domcontentloaded)和 timeoutMs
go_back后退
go_forward前进
reload刷新
get_url取当前页地址
get_title取当前页标题

三、页面状态与等待基线(3) ​

方法用途
get_browser_state智能体的眼睛:页签列表 + 可交互结构化文本;索引始终生成,高亮与截图默认关闭,分别传 highlight:true / screenshot:true 启用
list_frames列出页面里的 iframe,用于判断内容在哪个 frame
wait固定等待若干秒

四、元素交互(18) ​

方法用途
click_element_by_index按快照索引点击
double_click_element_by_index双击
hover_element_by_index悬停
focus_element_by_index聚焦
check_element_by_index勾选复选框
uncheck_element_by_index取消勾选
input_text向输入框填值
type_text逐字符输入(模拟真实键入)
upload_file给文件输入框设置文件(路径必须是服务端能打开的)
drag_element_by_index拖拽到目标元素
send_keys(别名 press_key)发送按键(如 Enter、Control+A,支持 keys 或 key 参数)
key_down / key_up按下 / 抬起某个键
get_dropdown_options读下拉框的可选项
select_dropdown_option选下拉框的某一项
scroll按 numPages 指定的页数滚动
scroll_to_text滚动到某段文本处
keyboard_type用真实按键把文字输入当前焦点,不需要元素索引,适合 Ace、CodeMirror 这类隐藏 textarea;回执不回显文字

五、元素读取(10) ​

方法用途
get_element_text取文本
get_element_html取 innerHTML
get_element_value取表单实时值(DOM property,不是初始 attribute)
get_element_attribute取指定属性
get_element_listeners取元素上挂的事件监听
get_element_count按选择器数元素个数
get_element_box取元素坐标与尺寸
is_visible / is_enabled / is_checked可见 / 可用 / 勾选状态

六、选择器与文本定位(7) ​

方法用途
click_element_by_selector按 CSS 选择器点击(不依赖索引)
input_text_by_selector按选择器填值
click_element_by_text按可见文本点击
click_element_by_role按无障碍角色点击
input_text_by_label按标签文本找输入框并填值
clear_text清空输入框
hover_and_click先悬停再点击,用于悬停才展开的子菜单

七、页签(8) ​

方法用途
get_tabs列出任务自己的页签
new_tab新开页签
switch_tab按页签索引切换
switch_tab_by_url按 URL 切换
close_tab按页签索引关掉一个页签
close_other_tabs关掉其他页签
bring_to_front把浏览器窗口提到前台(人工介入前常用)
wait_for_new_tab等晚到的新页签并切换过去;点击已经发生时传 baseline(点击前的页签数),超时报 POPUP_NOT_OPENED

八、等待(8) ​

方法用途
wait_for_element等元素出现
wait_for_text等文本出现
wait_for_url等地址匹配
wait_for_load等加载状态(如 networkidle)
wait_for_function等页面里的 JS 条件成立
wait_for_idle等网络安静下来
wait_for_stable等某容器内容稳定(异步表格刷新后读数必备)
wait_for_count等元素数量满足 min / max / equals 条件

九、鼠标(6) ​

方法用途
mouse_move移动鼠标
mouse_down / mouse_up按下 / 抬起
mouse_wheel滚轮
mouse_click在指定坐标点击
mouse_click_by_selector按选择器取坐标后真实点击(原生点击点不动时用)

十、截图与 PDF(3) ​

方法用途
screenshot页面截图,支持整页、裁剪区、指定元素、内联 base64
get_element_screenshot只截某个元素
pdf导出 PDF(只有 Chromium 系支持)

十一、Cookie 与存储(6) ​

方法用途
get_cookies / set_cookie / clear_cookiesCookie 读写与清理
get_local_storage / set_local_storage / clear_local_storageLocalStorage 读写与清理

十二、上下文设置(7) ​

方法用途
set_viewport改页面视口尺寸,见 06
set_geolocation设置地理位置
set_offline模拟离线
set_headers追加请求头
set_credentialsHTTP 基本认证凭据(CDP 那条路不支持)
set_media媒体类型(如深浅色偏好)
grant_permissions参数 permissions(如 ["microphone"])、origin(可选,默认当前页),只授权给该 origin

set_viewport、set_media 作用于当前 Page;地理位置、离线和请求头作用于共享 Context。set_credentials 涉及重建上下文,并受当前任务数量及启动方式限制。实现和影响范围见 23。

十三、对话框与弹窗(7) ​

方法用途
get_dialog / clear_dialog服务层记录到的对话框,读与清
get_js_dialog / clear_js_dialog原生 JS 弹窗(alert / confirm / prompt)
set_dialog_behavior设置原生弹窗的默认处理方式(默认自动确认)
get_modalsDOM 弹窗清单:标题、按钮文本、× 与各按钮的坐标
close_modal关掉 DOM 弹窗(用真实鼠标点,并校验数量真的减少了)

十四、控制台日志(2) ​

方法用途
get_console_logs读页面控制台日志
clear_console_logs清空记录

十五、网络(5) ​

方法用途
route / unroute请求拦截与解除(阻止、放行或模拟响应)
get_requests请求元数据列表(requestId、URL、方法、状态、耗时、failure,有请求体时附 postData)
wait_for_response等某个响应到达
get_response_body按 requestId 取响应体

同一个 URL 被重复请求时,用 requestId 精确匹配,否则可能把上一次的响应当成本次结果。请求体与响应体都可能被截断,必须检查 postDataTruncated / truncated 这类标记。

十六、页面读取与差异(9) ​

方法用途
get_page_snapshot页面快照(可选带控制台信息)
diff_dom_text重新做一次快照并与上一次按行做差集,判断「页面到底动没动」比重新读整页省
get_interactive_map可交互元素映射
get_form_state表单实时状态:value、checked、selected、readonly / disabled / editable,密码值脱敏
extract_structured_data读取页面正文并可附链接;query 不会触发大模型抽取。回执带 length/truncated/limit
extract_markdown页面(或选择器命中的元素)转 Markdown,表格按 GFM 表格输出;命中多个用 nth 指定;见 17
find_text在页面文本里找词或正则,只回命中 + 前后文 + 行号;想找一行时用它,别把整页拉回上下文
list_tables列出页面上所有表格(行列数、class、预览、是否含图),并给出可直接填进 extract_markdown 的选择器
download_image把页面上的图片原始文件存到服务端(data/<id>/),回 path/url/size/sha256;path 可直接交给 ocr_image

十七、脚本(1) ​

方法用途
execute_js在页面里执行 JavaScript,支持指定 frame、vars 注入与 bodyFile。见 09

十八、自省与维护(7) ​

方法用途
list_methods方法清单
get_config服务端生效配置
list_tasks当前任务与共享浏览器状态
cleanup清理运行期产物(默认只预演)
get_page_diagnostics一次回答“页面为什么没渲染”:findings、failedRequests、httpErrors、consoleErrors、pageErrors、cspViolations
get_diagnosticsCLI 为 dsb diagnose;只读内存,不进入浏览器事件循环,长命令执行期间也能调用,返回 data.active 和 data.last
cancel_commandCLI 为 dsb cancel;参数 commandId,只取消这一条命令,详见 40

十九、站点配方(2) ​

方法用途
list_recipes列出可用配方及其参数说明
run_recipe按名字显式执行一个配方。见 10

二十、后台作业(3) ​

方法用途
list_jobs列出后台批次
get_job取某个批次的结果
cancel_job取消某个批次(在下一步之前生效)

二十一、人机协作(4) ​

方法用途
request_human_input创建求助请求,可带元素 index / selector 取验证图片
ask_user向用户要一个值(银行卡号 / 身份证号 / 验证码),或让他在选项里挑;不截图、不抢焦点,形态与宿主侧的同名提问工具一致
get_human_input查询请求状态与用户答复
submit_human_input由宿主或用户提交答复(按 stepId / 问题的 id 逐条回填,多选题的值给数组)

request_human_input 只是创建请求记录,接口成功不等于用户已经收到通知 —— 宿主必须真的把求助信息展示出来。见 04 第五节。 「请人去页面上做一件事」与「向用户要一个值」是两件事:前者用 request_human_input,后者用 ask_user,参数形态与答复结构见 25。

二十二、图像识别(1) ​

方法用途
ocr_image对图片(服务端路径或页面元素)做 OCR,参数、语言包与结果判断见 Windows OCR

二十三、profile 管理(3) ​

方法用途
list_profiles返回 data.profiles 类型化列表;CLI 为 dsb profiles 或 dsb profile list
clone_profile参数 name、sourceUserDataDir、sourceProfileDirectory;返回 data.profile、copiedFiles、copiedBytes、warning
delete_profile参数 name;删除命名 profile 及其中的登录状态,使用中的 profile 会被拒绝

列表字段、启动选择与安全限制见 39。两条管理方法不启动浏览器。

二十四、按场景查方法 ​

想做的事用哪些
看页面有什么、能点什么get_browser_state(读 data.text),必要时 get_interactive_map
快照里找不到某元素先看 pixels_above / pixels_below,再按 06 第八节处理
异步表格点完读不到新数据wait_for_stable 或 wait_for_count
原生点击点不动先检查遮挡及页面状态,避免重复提交;模式选择见点击排障
元素只读 / 被禁用属页面语义,换控件用,别重试(见 04 错误码表)
页面被弹窗挡住get_modals 确认当前弹窗,先完成必要验证;仅关闭确实需要关闭的弹窗
需要 cookie / 登录态get_cookies / set_cookie;跨任务复用靠 profile(见 05)
要跨域 iframe 里的内容list_frames 定位 frame,再在 execute_js 里带 frame
要读页面上的表格(数字别配错列)extract_markdown(表格转 GFM 表格);只要某张表就传 selector
要弄清页面到底动没动diff_dom_text
遇到验证码 / 登录request_human_input(见 04 第五节)