十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Hermes Agent 浏览器自动化实战:从一条命令跑通本地到 4 类网页任务

Hermes Agent 浏览器自动化实战:从一条命令跑通本地到 4 类网页任务 Hermes Agent 浏览器自动化实战从一条命令跑通本地到 4 类网页任务【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agentHermes Agent 内置的浏览器自动化覆盖导航、输入、提取与视觉读数让 agent 用几次工具调用就能完成网页交互。读完本文你可以独立搭出一条从打开页面到抓取结构化数据的完整流程。⚙️ 本地一条命令跑通安装与后端切换先让本地模式可用本地模式是默认路径headless Chromium 跑在你自己的机器上零外部依赖。两条命令完成准备npm install -g agent-browser agent-browser install # 拉取 Chromium 运行时Debian/Ubuntu 或容器环境下第二条命令加--with-deps可同时装系统依赖。按需切到云后端配了 Browserbase 或 Browser Use 凭据时把 key 写进环境变量即可调用时系统会自动探测可用后端并路由过去。export BROWSERBASE_API_KEY*** export BROWSERBASE_PROJECT_IDproj_9f2k注在config.yaml里显式指定browser.cloud_provider会绕过自动探测key 缺失时直接报凭据错误而不是静默回退到本地。模式生效条件适用场景本地 headless默认无需凭据开发调试、高频本地操作Browserbase 云探测到对应 key生产任务、隐身与代理需求Browser Use 云探测到对应 key托管场景、内置反检测把列表页抓成结构化数据打开页面取紧凑快照先打开列表页默认紧凑快照只含可交互元素输出短、定位快。from tools.browser_tool import browser_navigate, browser_snapshot browser_navigate(https://shop.demo-store.dev/listing, task_idlisting_a17) snap browser_snapshot(task_idlisting_a17)fullFalse是默认值只返回交互元素需要整页文字时再切fullTrue。取引用、进详情、批量取字段从快照里拿第一张商品卡的引用点击进去再用 console 表达式直接从 DOM 里拉结构化数据。from tools.browser_tool import browser_click, browser_console browser_click(e7, task_idlisting_a17) # 该引用取自上一步快照 rows browser_console( Array.from(document.querySelectorAll(.sku)).map(n n.innerText), task_idlisting_a17, )表达式返回的是原始字符串按行切分或 JSON 解析即可得到列表。跑通多步搜索表单定位输入框并键入关键词打开搜索页后从快照里取输入框的引用键入关键词。from tools.browser_tool import browser_navigate, browser_snapshot, browser_type browser_navigate(https://docs.demo-store.dev/search, task_idform_f02) refs browser_snapshot(task_idform_f02) browser_type(e5, 批量导出订单, task_idform_f02)browser_type默认会先清空原有内容再输入不必手动选中文本。提交并确认结果页模拟回车提交向下滑一屏再取一次快照确认结果页已就位。from tools.browser_tool import browser_press, browser_scroll browser_press(Enter, task_idform_f02) browser_scroll(down, task_idform_f02) page browser_snapshot(task_idform_f02)结果若是异步渲染建议轮询快照直到关键字段出现比固定等待更稳。从页面读出图表数值文本快照打底视觉兜底快照是纯文本图里的数字读不出来。带图表的页面把读数任务交给视觉模型。from tools.browser_tool import browser_vision nums browser_vision( 读出中间柱状图的季度销售额按季度列出, task_idchart_c09, )问题里写清目标图表和期望的输出格式模型才不会自行发挥。多任务并行与资源回收task_id是会话隔离单位同一 key 复用同一个浏览器不同 key 天然并行。多源抓取同时跑就是同时持有多个会话。from tools.browser_tool import browser_navigate for i, src in enumerate(SOURCES): browser_navigate(src, task_idfprobe_{i:02d})注空闲会话到点自动回收超时值可用环境变量调整。高频脚本建议把空闲超时调短避免浏览器实例长期滞留。异常路径与重试策略导航和快照调用在弱网或触发反爬时都会失败。统一包一层重试捕获异常、指数退避最后一次失败再向上抛出。import time from tools.browser_tool import browser_navigate, browser_snapshot def fetch_with_retry(url, key, tries3): for attempt in range(tries): try: browser_navigate(url, task_idkey) return browser_snapshot(task_idkey) except RuntimeError: if attempt tries - 1: raise time.sleep(2 ** attempt) # 依次 1s、2s、4s 退避页面有反爬倾向时有两条路换云后端并开启隐身/代理或降低操作频率。能用快照轮询的地方都别写死time.sleep把节奏交给页面自己。 排障速查现象最可能原因一行修复元素引用找不到页面更新后快照失效操作前重跑browser_snapshot云后端报缺 key环境变量未设或拼错核对 key显式设browser.cloud_provider导航持续超时页面资源过重用fullFalse紧凑快照缩小等待面长空闲后会话断开空闲会话已被系统回收调大空闲超时或重新导航接回云提供商不生效自动探测顺序与预期不符在config.yaml显式指定browser.cloud_provider安全与合规红线key 走环境变量不入库遵守目标站 robots 与频率限制只采集任务必需的数据缩短空闲超时清理过期会话碰认证页前先确认授权边界从一条命令跑通到多任务编排路径都已讲清挑一个任务端到端跑一遍即可。装好本地 headless Chromium跑一次列表页快照提取接一个云后端做对比【免费下载链接】hermes-agentThe agent that grows with you项目地址: https://gitcode.com/GitHub_Trending/he/hermes-agent创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表