Browser Use - 网页自动化

Other

通过 nodriver 驱动浏览器,支持信息检索、网页抓取、表单交互等;**作为搜索工具的补充**——内置搜索无结果、摘要不足或需登录/站内检索时再启用;适用于非 WPS 链接访问、落地页导航、Web 应用交互,以及股票/金价/期货/天气等强事实信息。

Install

openclaw skills install wps-browser-use

Browser Skill

基于 nodriver 的浏览器自动化 skill,专为纯文本 agent 设计。

与搜索工具的关系:优先用搜索工具快速拉取公开摘要;若搜索搜不到、结果过时/片面、或必须进入具体网站(站内搜索、动态页、表格详情)才能拿到答案,再查阅并启用本 SKILL,用浏览器补齐信息。

核心设计原则

所有公开方法均返回结构化文本快照,格式统一为:

[操作摘要]
---
Title: 页面标题
URL:   https://...
---
Interactive elements (index[:]info):
0[:] input type="text" placeholder="搜索"
1[:] button | 百度一下
2[:] a href="https://..." | 新闻
...
---
Page Text:
页面可见文本...

agent 通过读取快照中的元素索引来引用元素,无需理解 HTML 或 CSS 选择器。每次操作后快照自动刷新,索引始终对应当前页面状态。

大内容溢出处理:页面文本超过 10000 字符或元素超过 100 个时,超出部分自动保存到文件,快照中提示路径,可用 jupyter_cell_exec工具 读取完整内容。

加载方式

import sys, os
sys.path.insert(0, os.path.join(os.getenv("skill_path"), "browser", "scripts"))
import browser

API 参考

navigate — 打开页面

result = browser.navigate(
    url="https://www.baidu.com",
    wait_for=None,  # 可选:等待某 CSS 选择器出现后再返回
)
print(result)

click — 点击元素

result = browser.click(element_index=1)  # 索引来自上次快照的 Interactive elements
print(result)

fill — 填写输入框

result = browser.fill(
    element_index=0,
    text="搜索内容",
    press_enter=False,   # 是否回车提交
)
print(result)

实现上会先点击目标输入框、短暂等待再 fill 覆盖内容;若遇动态展开/联想框导致失败,可先 browser.click 激活再 browser.fill,或调用 browser.get_interactive_elements() 刷新索引后重试。

select_option — 下拉框选择

result = browser.select_option(
    element_index=3,
    option_text="选项一",   # 按可见文本匹配(最常用)
    # option_value="val1",  # 按 value 属性匹配
    # option_index=0,       # 按位置匹配(0 起)
)
print(result)

get_interactive_elements — 刷新元素列表

result = browser.get_interactive_elements()
print(result)

页面动态加载新内容后,调用此方法刷新元素缓存和索引。

execute_script — 执行 JS

result = browser.execute_script("return document.title")
print(result)

screenshot — 截图

result = browser.screenshot(
    output="screenshot.png",
    full_page=False,
)
print(result)

可信网站推荐

根据任务类型选择合适的入口,优先使用专业数据源。

访问方式(务必遵守):下表中的链接表示应从该站点开始。请先用 navigate 打开对应网站,再通过站内搜索、导航菜单、栏目链接等在页面上进入目标功能;不要凭记忆或猜测去改路径、拼深层 URL 直接访问。站点改版后路径常变,硬编 URL 容易 404、跳转登录页或落到无关页面。

禁用 query 拼接作为第一步禁止一上来就把关键词拼进地址栏,用带查询串的 URL 直接打开(如 ?key=?q=?wd=keyword= 等)。正确做法是先进表内给出的起点页,再用页面上的搜索框输入关键词并触发搜索。反例(勿做):https://so.eastmoney.com/cn/result?key=金山办公 —— 应改为先打开 https://so.eastmoney.com,再在站内搜索「金山办公」。

任务类型推荐网站链接
股票行情东方财富网https://so.eastmoney.com
期货行情曲合期货https://www.quheqihuo.com/quote/shfe.html
贵金属(黄金 / 白银 / 铂金)现货价格上海黄金交易所https://www.sge.com.cn/sjzx/yshqbg
基金净值 / 基金排行 / 基金查询天天基金网https://fund.eastmoney.com/
天气预报 / 气象灾害 / 台风信息中央气象台https://www.nmc.cn/
汇率查询百度(搜索结果页直接展示实时换算)https://www.baidu.com
快递单号查询百度(绕过快递网站验证码)https://www.baidu.com

汇率查询直接在百度搜索(如"1美元换多少人民币"),百度会在结果页实时计算并展示换算结果,无需进入专业汇率网站。 快递单号查询直接在百度搜索单号,百度会通过摘要聚合展示物流状态,可绕过顺丰、圆通等快递官网的验证码限制。

特殊情况处理

某些场景下不适合使用浏览器,应优先使用更高效的方式:

情况处理方式原因
批量获取股票历史数据直接调用东方财富 API:http://push2his.eastmoney.com/api/qt/stock/kline/get浏览器逐天抓取耗时长、效率低、容易出错

Troubleshooting

问题处理方式
元素找不到或点击无效记录当前状态,提示用户手动处理后继续
需要登录、验证码或手动步骤暂停操作,建议用户接管浏览器完成验证后继续