Install
openclaw skills install tianxi-browser-automation通过浏览器自动完成网页导航、表单填写、社交媒体发布、文件上传及数据提取等交互操作。
openclaw skills install tianxi-browser-automation当用户请求满足以下任意场景时,优先使用本Skill:
flowchart LR
A[开始] --> B{调用 browser_exists}
B -->|存在| C[继续执行任务]
B -->|不存在| D[询问用户:"检测到未安装联想浏览器,是否需要自动安装?"]
D -->|同意| E[调用 browser_install 进行安装]
E --> F{安装是否成功?}
F -->|是| C
F -->|否| G[提示用户:"浏览器安装失败,请手动安装后重试"]
D -->|不同意| H[终止任务,告知用户需要浏览器支持]
flowchart LR
A[接收任务] --> B{是否需要打开新页面?}
B -->|是| C[调用 browser_navigate 访问目标URL]
B -->|否| D[调用 browser_tabs 列出已有标签页,选择目标标签]
C & D --> E[调用 browser_snapshot 获取页面元素快照]
E --> F{是否需要元素定位操作?}
F -->|是| G[使用快照中的ref参数执行对应操作]
F -->|否| H[执行无需定位的操作(截图、返回、前进等)]
G & H --> I{操作是否完成?}
I -->|否| J{是否需要用户确认信息?}
J -->|是| K[向用户询问缺失的信息/确认操作]
J -->|否| L[再次调用 browser_snapshot 获取最新页面状态]
K --> L
L --> F
I -->|是| M[任务完成,反馈结果]
browser_snapshot 获取页面元素引用(ref)ref参数定位元素,不允许使用CSS选择器或XPath直接定位slowly: true参数逐字符输入,避免漏输["C:\\Users\\xxx\\Desktop\\file1.jpg", "C:\\Users\\xxx\\Desktop\\file2.png"]browser_handle_dialog 处理,默认选择"确认"| 工具名称 | 适用场景 | 示例参数 |
|---|---|---|
browser_navigate | 打开指定网页 | {"url": "https://weibo.com"} |
browser_snapshot | 获取页面元素快照 | 无参数 |
browser_click | 点击页面元素 | {"element": "登录按钮", "ref": "e123"} |
browser_type | 输入文本内容 | {"element": "用户名输入框", "ref": "e456", "text": "user123"} |
browser_fill_form | 批量填写表单 | {"fields": [{"name": "username", "ref": "e456", "value": "user123"}, {"name": "password", "ref": "e789", "value": "pass123"}]} |
browser_select_option | 选择下拉选项 | {"element": "省份选择", "ref": "e101", "values": ["北京市"]} |
browser_take_screenshot | 页面截图 | {"fullPage": true, "type": "png"} |
browser_file_upload | 文件上传 | {"paths": ["C:\\Users\\xxx\\Desktop\\photo.jpg"]} |
browser_wait_for | 等待条件满足 | {"text": "发布成功", "time": 5} |
browser_evaluate 可执行自定义JavaScript,如滚动页面、修改元素属性等browser_network_requests 可查看页面加载的所有接口请求,用于调试browser_console_messages 可获取浏览器控制台输出,排查页面错误browser_press_key 可模拟键盘按键,如Enter、Esc、方向键等1. browser_navigate(url="https://weibo.com")
2. browser_wait_for(text="登录")
3. browser_snapshot()
4. browser_click(element="登录按钮", ref="e12")
5. browser_snapshot()
6. browser_type(element="用户名输入框", ref="e34", text="xxx")
7. browser_type(element="密码输入框", ref="e56", text="xxx")
8. browser_click(element="确认登录按钮", ref="e78")
9. browser_wait_for(text="首页")
10. browser_snapshot()
11. browser_click(element="发布框", ref="e90")
12. browser_type(element="发布输入框", ref="e101", text="今天天气真好!")
13. browser_click(element="发布按钮", ref="e112")
14. browser_wait_for(text="发布成功")
15. browser_take_screenshot()
1. browser_navigate(url="https://example.com/form")
2. browser_snapshot()
3. browser_fill_form(fields=[
{"name": "姓名", "ref": "e12", "value": "张三"},
{"name": "手机号", "ref": "e34", "value": "13800138000"},
{"name": "邮箱", "ref": "e56", "value": "zhangsan@example.com"}
])
4. browser_select_option(element="省份", ref="e78", values=["广东省"])
5. browser_click(element="提交按钮", ref="e90")
6. browser_wait_for(text="提交成功")