browser-use 是一个浏览器自动化技能,基于 Playwright MCP 服务器实现,用于让 AI 代理通过标准化工具接口操控浏览器,完成网页导航、表单填写、元素点击、截图和数据提取等任务。当任务需要与网页进行交互式操作时可以使用该技能。
用途
该技能面向需要通过程序化方式操作浏览器的场景,例如打开指定网址、读取页面内容、填写并提交表单、点击链接或按钮、等待特定文本出现,以及截取页面图像。它不直接解析 HTML,而是先获取页面快照以得到可操作元素的引用(ref),再基于 ref 执行交互。
主要能力
技能通过本地 MCP 服务器提供一组浏览器工具,包括:browser_navigate 用于跳转网址与后退,browser_snapshot 获取可访问性快照(返回用于点击和输入的元素 ref),browser_take_screenshot 支持整页 PNG 截图,browser_click 点击指定元素,browser_type 输入文本并可自动提交,browser_fill_form 一次填写多个表单字段,browser_select_option 选择下拉选项,browser_wait_for 按文本或毫秒等待,browser_evaluate 执行 JavaScript 表达式,browser_run_code 在一次调用中执行多步 Playwright 代码,适合需要原子性的复杂流程。
使用方式
使用前需先启动服务器,推荐运行 bash scripts/start-server.sh,或手动执行 npx @playwright/mcp@latest --port 8808 --shared-browser-context。启动时必须带上 --shared-browser-context 参数,否则每次 mcp-client.py 调用都会得到全新的浏览器上下文,无法保持状态。随后通过 python3 scripts/mcp-client.py call -u http://localhost:8808 -t 工具名 -p JSON参数 的方式调用各工具。任务结束时可以运行 bash scripts/stop-server.sh 停止服务器,或先调用 browser_close,再使用 pkill -f "@playwright/mcp" 终止进程。若浏览器无响应,应停止并重新启动服务器。
典型流程
表单提交流程为:导航到页面、获取快照以找到元素 ref、按 ref 填写字段、点击提交、等待确认信息、截图记录结果。数据提取流程为:导航到页面、获取快照(其中包含文本内容)、必要时使用 browser_evaluate 进行复杂提取,然后处理结果。若元素找不到,应先重新获取快照;点击失败可先尝试悬停;表单未提交可在输入时设置 submit 为 true;页面加载缓慢可增加等待时间或使用等待工具。
适用场景与限制
该技能适合需要真实浏览器交互的自动化任务,例如网页内容采集、自动化表单填写、页面状态检查与截图取证。资料未提供关于性能上限、并发能力、安全策略或收费模式的具体信息,这些方面暂未提供。完整工具文档可参考 references/playwright-tools.md。