Hermes Agent 浏览器自动化快速上手:零配置跑通导航、填表与数据提取
2026/8/29 16:01:07 网站建设 项目流程

Hermes Agent 浏览器自动化快速上手:零配置跑通导航、填表与数据提取

【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent

Hermes Agent 的浏览器自动化模块,让你用几行browser_*工具调用就能完成打开页面、点击、填表单、提取数据这类真实任务。全程不用手写选择器,也不用搭 Selenium 脚本。🚀

免配置启动浏览器:先想清楚用哪个后端

默认走本地路线:一个 headless Chromium,零费用、零外部依赖,装完即用。

npm install -g agent-browser agent-browser install # 首次下载 Chromium agent-browser install --with-deps # Debian/Ubuntu/Docker 需连带系统依赖

云端后端只需设好 API key 环境变量(Browserbase 是BROWSERBASE_API_KEY+BROWSERBASE_PROJECT_ID,Browser Use 是BROWSER_USE_API_KEY),之后所有browser_*调用自动由云端接管。选择逻辑不复杂:系统先查 Browser Use,再看 Browserbase,两者都没配凭据就回落到本地模式,你通常不需要手动切换。

后端成本前置条件隐身/代理适合谁
本地 headless免费一条 install 命令开发测试、高频短任务
Browserbase按量付费两个环境变量支持,还能自动过 CAPTCHA生产环境、强反爬站点
Browser Use订阅内一个环境变量内置智能反检测Nous 订阅用户

💡 想锁死某个后端,就在config.yaml里写browser.cloud_provider。这个字段优先级最高,而且不检查可用性——凭据没配好时它会直接报明确的缺 key 错误,而不是偷偷换到别的后端。

后端抽象层在agent/browser_provider.py,如果你日后想接自研云浏览器,实现同一个生命周期接口注册进agent/browser_registry.py即可,调度端不用改。

跑通第一条自动化任务:快照驱动的操作节奏

核心心智只有一条:所有操作都经由快照。先导航,再拿快照,对着快照里的@e1@e2引用下指令,动作之后页面变了就重新拿一份。

from tools.browser_tool import browser_navigate, browser_snapshot, browser_click browser_navigate("https://news.example.com", task_id="tech_news") refs = browser_snapshot(task_id="tech_news") # 紧凑视图,只列可交互元素 browser_click("@e3", task_id="tech_news") # 对着 @e3 下指令 snapshot = browser_snapshot(task_id="tech_news", full=True) # 抓全文再提取

两个容易踩的坑:

  • full=False是紧凑交互视图,做点击/输入时用它就够了;full=True才是全文内容,留给提取类任务。
  • 任何改变 DOM 的动作(点击、提交、滚动加载)之后,旧引用随时会失效,重新快照再操作。

表单类页面照固定套路走:先快照确认字段存在,browser_type填入内容(它会自动清空原有内容,覆盖输入不用额外处理),browser_key("Enter")模拟回车提交,最后回一次快照验证结果。

一次把工具表过目,后文不再逐个演示:

工具干什么
browser_navigate打开目标 URL
browser_snapshot拿交互引用清单(full参数切换紧凑/全文)
browser_click/browser_type/browser_key点击、输入、按键
browser_scroll滚动加载更多
browser_vision丢一张截图问视觉模型,处理图表、布局、验证码
browser_screenshot抓当前页面截图
browser_console读控制台输出/错误,也可执行自定义 JS 表达式
browser_get_images批量取页面全部图片的 URL 与 alt 文本
browser_close显式结束会话

文本快照拿不到的东西——图表读数、验证码、页面布局判断——交给browser_vision:直接描述你要找什么,它对截图做理解。调试 JS 异常时用browser_console读错误输出,或者喂一个表达式当场求值。

守住会话:task_id 才是会话的主键

会话生命周期完全由task_id决定:同一个 ID 复用同一个浏览器会话(登录态、滚动位置都保留);闲置超过 300 秒自动释放,阈值可用BROWSER_INACTIVITY_TIMEOUT调宽;确认跑完再调browser_close收尾更干净。多任务并行时每个任务用独立 ID,互不串线。

给 ID 起业务名(price_monitor_amazonnews_tech_roundup),别用task1test,出问题时一眼能定位。

翻车了按症状对号入座:

  • 引用 @eX 失效→ DOM 变了,重新browser_snapshot再点。
  • 长任务中途断连→ 放宽超时,重试加指数退避。
  • 页面加载慢→ 分阶段来:先导航,再循环快照轮询,等关键内容出现再继续。
  • 被反爬拦截→ 切云端后端并开隐身/代理,同时降低操作频率、模拟人类节奏。

✅ 开工前检查:目标站点 robots 与条款允许自动化、任务 ID 有业务含义、重试与超时策略已就位、API key 走环境变量而非硬编码。

接下来做什么:

  • 装好本地后端,跑通"导航 → 快照 → 点击"的最小闭环
  • 挑一个带搜索框的页面,练习填表 + 回车提交 + 验证三连
  • 给自己定一套 task_id 命名规范,并确认超时策略匹配任务时长

【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询