让AI真正「看懂」网页:Memfit浏览器自动化实践"

admin 2026-10-22 01:27:34 网络安全文章 来源:ZONE.CI 全球网 0 阅读模式

cover_image

让 AI 真正「看懂」网页:Memfit 浏览器自动化实践

原创

YAK
YAK

Yak Project

2026年6月26日 17:05
湖南

在小说阅读器读本章

去阅读

本文分享 Yaklang 项目中 AI Agent 驱动浏览器完成 Web 操作的设计思路与实战经验。

一、背景与整体架构

传统浏览器自动化面向程序员——写选择器、处理等待、维护脚本。AI Agent 面对的是自然语言任务(登录后台、验证越权、抓取内容),面临三个矛盾:页面如何被 AI 理解、元素如何被稳定定位、多轮对话如何维持浏览器会话。

在 Yakit 中的解法是插入一层 「AI可读」的浏览器中间件:无障碍树 Snapshot 供 AI 读结构,短 ref(@e1)供 AI 点元素,Session 让多次工具调用共享同一 Chrome。

层级 职责
Agent 拆解任务、选工具、读输出、决策下一步
use\_browser 统一 op 入口,翻译为浏览器操作
browser 模块 实例管理、Snapshot、ref 映射、CDP 执行
Chrome 真实渲染与交互

二、核心原理

YAK

Snapshot + Ref:AI 读结构,不读像素

snapshot 返回的是 Accessibility Tree 文本,不是截图。可交互元素带 [ref=eN],Agent 用 @e3 填表、@e5 点击,底层映射到 DOM 再经 CDP 执行。相比整页 HTML 更省 token,相比截图不依赖多模态模型。

YAK

交互循环与双策略

策略 流程 适用
A:Snapshot + Ref open → snapshot → 用 ref 操作 → 变化后重 snapshot 静态 HTML,首次 snapshot 有 ref
B:JavaScript 优先 open → eval 探表/填表/提交 → eval 或 get 验证 SPA、登录表单、snapshot 返回 0 ref

铁律:0 ref 时不要反复 snapshot,立刻切 eval 或 CSS 选择器。

YAK

use\_browser 能力速览

单一工具,参数 op 选操作;target 支持 @eN 与 CSS 选择器。

类别 op
导航 open back forward reload close
感知 snapshot screenshot get(含 cookies)
交互 click fill type hover drag select check uncheck setfiles scrollintoview press
脚本 eval wait
标签 tab\_list tab\_new tab\_switch tab\_close

常用参数:url``target``value``js;可选 headless、timeout。iframe 内元素需 eval。

三、实战案例

YAK

案例 1:传统后台登录(Snapshot 策 略)

首先打开 Yakit 的 vulinbox 靶场:

然后在 Memfit 中输入提示词:使用浏览器帮我登陆``http://127.0.0.1:8787/jwt/safe-login,账号密码分别是admin/admin

发送提示词,观察浏览器,Memfit AI 会打开浏览器,输入账号密码,执行登陆,获取结果。

步骤 动作
1~4 open → fill 用户名/密码 → click 登录
5~6 get url / title 验证 → close

小结:静态页 4~6 轮 tool call 可完成,上面这种事比较简单的登陆策略。

YAK

案例 2:AI 登录 → 导出 Cookie → Yak 脚本抓取

用户指令(原文)

帮我使用浏览器打开 https://movie.douban.com/ ,然后获取 Cookie 和 UA,再编写 Python 脚本,批量获取所有正在热映电影。

场景说明

豆瓣电影首页展示「正在热映」卡片,但列表较长、后续还可能翻页或跳转子页。若直接用 Python requests 裸请求,常因 缺少浏览器 Cookie、User-Agent 不像真实访问 而被限流或返回不完整内容。 本案例不需要账号登录,核心是:用真实 Chrome 访问一次,借浏览器建立「像人一样的」请求指纹,再把 Cookie + UA 交给脚本做批量 HTTP 抓取。

任务目标

  • 打开 豆瓣电影,确认「正在热映」区块已加载
  • 导出当前会话的 Cookie 与 User-Agent
  • 生成并运行 Python 脚本,拉取全部正在热映条目
  • 输出结构化结果(片名、评分、详情链接等)

为什么用「浏览器 + 脚本」混合

阶段 浏览器 Yak 脚本
登录 / Cookie ✅ ❌ 通常需要人工逆向js
批量分页 ❌ 慢且费 token ✅ 并发 HTTP

实际运行时条目数随豆瓣首页热映排片变化;脚本目标是一次性覆盖当前全部热映项,而非仅首页可见的几张卡片。

结果

  • 浏览器阶段:约 3~5 次 tool call(open → cookies → eval UA → 可选 html → close)
  • 脚本阶段:秒级完成列表拉取与解析(视网络与条目数而定)
  • 交付物:douban\_movie\_scraper.py、douban\_nowplaying.json、douban\_nowplaying.csv

经验小结

  • 不必登录也要过浏览器:豆瓣这类站点即使用户未登录,仍建议先浏览器访问再抓 Cookie,比脚本裸奔稳定得多。
  • Cookie + UA 成对使用:只抄 Cookie 不换 UA,或反之,都容易触发异常响应。
  • 浏览器只跑一趟:热映列表的重复 GET 交给 Python,避免 Agent 对每个电影 ref 点一遍。
  • 合规与频率:仅用于个人学习/内部分析时控制请求频率,遵守站点服务条款;Cookie 有时效,脚本失败时可让 Agent 重新 open 刷新 Cookie。
  • 脚本语言不限于 Yak:本例用户指定 Python;同一流程也可让 Agent 写 Yak 脚本,原理相同。

四、实践要点

YAK

与传统自动化对比

维度 传统脚本 Memfit + use\_browser
页面理解 手写选择器 Snapshot 文本 + ref
任务入口 代码 自然语言 + ReAct
SPA wait + 选择器 eval 兜底
会话 脚本变量 session 跨 tool call
典型场景 QA / 开发 安全测试、Agent 编排

YAK

踩坑清单

1.snapshot ≠ 截图——要视觉确认用 screenshot。

2.0 ref 立刻换 JS 策略——勿空转 snapshot。

3.页面变化后 ref 必刷新。

4.长任务记得 close——释放 Chrome。

5.浏览器 vs HTTP——无登录态用 HTTP;登录、CSRF、Cookie 用浏览器;批量抓取用 Cookie + Yak 脚本(案例 4)。

总结

用 Snapshot 翻译页面结构,用 Ref 简化「点哪里」,用 Session 缝合多轮对话,用 eval 兜住 SPA——Tool 提供能力,Skill 提供策略,Agent 在上层决策。这不是取代 Playwright,而是为 LLM 作为操作者 重新设计的中间层。配合Yaklang 或 python 脚本可以最大程度上释放 AI 的安全能力。

END

YAK官方资源

Yak 语言官方教程:

https://yaklang.com/docs/intro/

Yakit 视频教程:

https://space.bilibili.com/437503777

Github下载地址:

https://github.com/yaklang/yakit

Yakit官网下载地址:

https://yaklang.com/

Yakit安装文档:

https://yaklang.com/products/download\_and\_install

Yakit使用文档:

https://yaklang.com/products/intro/

常见问题速查:

https://yaklang.com/products/FAQ


让AI真正「看懂」网页:Memfit浏览器自动化实践" 网络安全文章

让AI真正「看懂」网页:Memfit浏览器自动化实践"

本文介绍Yaklang项目中Memfit浏览器自动化方案,通过AIAgent驱动浏览器完成Web操作。核心采用Snapshot+Ref机制将页面结构转为无障碍树文本供AI理解,配合use\\_browser工具实现导航、交互和脚本执行。文章详细解析了双操作策略(Snapshot优先与JS兜底)并提供了豆瓣电影爬虫等实战案例,强调浏览器会话维持与脚本混合使用的优势。最后总结了与传统自动化的对比及五条实践要点。
最全的817项结构化网络安全skills" 网络安全文章

最全的817项结构化网络安全skills"

该项目发布了一个包含817项结构化网络安全技能的AI代理技能库,覆盖29个安全领域并实现与MITREATT&CK等六大行业框架的自动化映射。核心创新在于首次实现单技能对应多框架的联动机制,提供标准化安装方法和详细领域技能清单,旨在解决安全AI能力碎片化问题并推动行业合规协作。
金融监管总局发布《关于银行业保险业人工智能安全开发应用的指导意见》(附全文)" 网络安全文章

金融监管总局发布《关于银行业保险业人工智能安全开发应用的指导意见》(附全文)"

金融监管总局发布《关于银行业保险业人工智能安全开发应用的指导意见》,要求金融机构完善人工智能治理架构,推进高水平开发应用,提升数据治理能力,加强智能算力建设,完善风险治理框架,提升安全开发应用能力,并加强保障与监督,涵盖32项指导性意见以推动人工智能应用合规、透明、可信赖。
评论:0   参与:  0