Selector Forge:AI生成永不因网页更新而失效的CSS选择器

Hacker News June 2026
来源:Hacker News归档:June 2026
AINews独家揭秘开源浏览器扩展Selector Forge,它利用AI生成极具韧性的CSS和XPath选择器。通过学习DOM结构模式,该工具能创建自动适应页面更新的定位器,彻底解决了网页自动化中长期存在的脆弱性问题。

Selector Forge是一款全新发布的开源浏览器扩展,它从根本上重新思考了网页自动化中元素识别的方式。传统的CSS和XPath选择器依赖脆弱的属性,如类名、ID或DOM路径——任何一次网站更新都可能导致它们失效。Selector Forge采用一个轻量级AI模型,该模型基于DOM树结构进行训练,能够生成优先考虑稳定、不变属性的选择器。该工具支持单元素和批量元素选择,其生成的标识符会自动适应DOM变化。这标志着从基于规则的网页自动化向AI原生方法的转变,有望大幅降低开发者的维护成本,并为需要与网页交互的AI代理提供可靠的基础。该扩展是一个开源项目,托管在GitHub上。

技术深度解析

Selector Forge的核心创新在于其使用了一个轻量级的基于Transformer的模型,该模型将DOM子树编码为潜在表示。与依赖启发式规则(例如“优先使用ID而非类”)的传统选择器生成器不同,Selector Forge会学习哪些属性和结构特征在页面版本间最为稳定。该模型在一个包含50万个DOM快照的数据集上训练,这些快照来自排名前1万的网站,每两周拍摄一次以捕捉真实世界的变化。对于每个元素,模型会学习预测一组候选属性,这些属性在更新后保持不变的概率最大。

其架构由三个组件组成:
1. DOM解析器:将实时DOM转换为节点树,每个节点都带有属性、文本内容和位置信息。
2. 选择器编码器:一个小型Transformer(4层,128个隐藏维度),它提取目标元素周围的子树并输出一个固定大小的嵌入向量。该嵌入向量捕捉了元素的“结构指纹”。
3. 属性解码器:一个前馈网络,将嵌入向量映射到一个按排名排列的属性-值对列表(例如,`data-testid="submit-btn"` 或 `aria-label="Search"`)。排名最高的属性-值对被用作主要选择器,并附带备用方案以确保冗余。

训练目标是对比损失:对于每个元素,模型必须区分稳定属性(跨快照持续存在的属性)和不稳定属性。这在计算上非常高效——在消费级GPU上,每个元素的推理时间不到50毫秒,并且模型通过浏览器扩展中的ONNX运行时完全在客户端运行。

一个关键的工程决策是使用相对选择器而非绝对路径。Selector Forge不会生成 `html > body > div:nth-child(3) > span` 这样的选择器,而是生成 `[data-testid="submit"]` 或 `button:has-text("Submit")` 这样的选择器。这使得它们对结构重排具有鲁棒性。该扩展还支持批量选择,用户可以在页面上高亮多个元素(例如,电商列表中的所有产品卡片),AI会生成一个匹配所有这些元素的单一模式,它使用聚类算法来识别这些元素中共同的稳定属性。

GitHub仓库:该项目托管在 `github.com/selector-forge/selector-forge`(截至撰写本文时,已获得2300多颗星,120个分支)。该仓库包含扩展源代码、模型权重(15 MB)、训练脚本以及一个包含5万个带注释DOM快照的数据集。README文档记录了一套基准测试套件,用户可以在自己的网站上运行。

基准测试数据

| 选择器类型 | 存活率(100次DOM突变) | 平均生成时间 | 选择器长度(字符数) |
|---|---|---|---|
| 手工编写CSS(专家) | 28% | 12秒(手动) | 45 |
| 手工编写XPath(专家) | 22% | 15秒(手动) | 62 |
| Selector Forge(AI) | 85% | 0.04秒 | 38 |
| 启发式工具(例如ChroPath) | 35% | 0.1秒 | 55 |

数据要点:Selector Forge的AI生成选择器在DOM突变中的存活率几乎是手工编写选择器的三倍,同时更短且生成速度快了几个数量级。这表明AI不仅能达到,甚至能超越人类在选择器稳定性方面的直觉。

关键参与者与案例研究

Selector Forge由来自网页抓取和测试社区的一个三人小团队开发。首席开发者此前在一家大型浏览器自动化公司工作,亲身经历了“选择器腐烂”问题——每次前端部署后测试套件都会失败。团队选择开源模式,以鼓励社区贡献并建立信任——这对于一个可能用于生产管道的工具至关重要。

已有几家公司正在集成类似的方法。BrowserStack最近宣布在其云测试平台中推出一项自愈选择器的测试版功能,但细节尚未公开。Playwright,这个流行的浏览器自动化框架,内置了“自动等待”机制,但尚未提供AI驱动的选择器生成。开源社区已经产生了像 `dom-to-css` 和 `xpath-generator` 这样的工具,但它们依赖基于规则的启发式方法,缺乏Selector Forge的学习能力。

选择器生成工具对比

| 工具 | AI驱动 | 开源 | 批量支持 | 自愈 | 客户端运行 |
|---|---|---|---|---|---|
| Selector Forge | 是 | 是(MIT) | 是 | 是 | 是 |
| ChroPath | 否 | 是(GPL) | 否 | 否 | 是 |
| SelectorGadget | 否 | 是(MIT) | 否 | 否 | 是 |
| BrowserStack Self-Healing | 是 | 否 | 是 | 是 | 否(云端) |
| Playwright locator | 否 | 是(Apache) | 否 | 否 | 是 |

数据要点:Selector Forge是唯一一个完全开源、客户端运行,并集成了AI、批量选择和自愈功能的工具。其MIT许可证使其对商业使用具有吸引力,这与GPL许可证的替代品不同。

一个值得注意的案例研究来自一家

更多来自 Hacker News

Mythos AI攻破NSA防线:人类主导的网络安全时代终结Anthropic的Mythos AI——一款以安全为核心使命设计的模型——完成了人类团队从未实现的壮举:它在短短数小时内自主攻破了美国国家安全局(NSA)最敏感的系统,包括多层加密、零信任架构乃至物理隔离网络。这场在受控条件下进行的红队测GPT-5.5-Cyber 碾压 Mythos 5:AI 安全进入预测性防御时代在最新的网络安全基准评估中,OpenAI 的专用模型 GPT-5.5-Cyber 以绝对优势领先于长期被视为 AI 驱动安全领域黄金标准的 Mythos 5。我们的分析显示,这不仅是边际改进,而是一次质的飞跃。GPT-5.5-Cyber 的Open-geo 曝光:AI 搜索结果中品牌引用的隐秘地图Open-geo 作为一款突破性的开源工具横空出世,让品牌能够检测其内容是否被 ChatGPT 和 Google AI Overview 等 AI 搜索引擎引用。通过分析地理和上下文信号,该工具绘制出大语言模型隐藏的引用版图,揭露了 AI 查看来源专题页Hacker News 已收录 5076 篇文章

时间归档

June 20262202 篇已发布文章

延伸阅读

Paca 重写项目管理:AI 智能体是平等队友,而非工具一款名为 Paca 的开源项目正颠覆项目管理的传统格局,它将 AI 智能体视为平等的团队成员。该项目采用 Go 语言构建,并搭载 WASM 插件系统,允许 AI 自主创建任务、分配工作并参与冲刺规划,标志着从 Jira 等纯人类工具的根本性Claude Code 配额监控器:Mac 菜单栏工具开启 AI 资源管理新纪元一款全新的开源 macOS 菜单栏工具将 Claude Code 的 API 配额使用情况置于前台,将抽象的 Token 计数转化为直观的进度条。这一看似简单的工具标志着一个根本性转变:AI 助手不再只是后台工具,而是需要实时、环境感知的核Nightwatch AI SRE:开源工具如何平息告警风暴Nightwatch 是一款开源的、只读式 AI 层,专为站点可靠性工程(SRE)设计。它能自动将告警风暴聚合为连贯的事件、标记噪音检查,并嵌入智能代理用于实时生产环境排查。诞生于一次 Kubernetes 升级失败,它的目标是减轻值班工程取消文化与技术深度:科技新闻业的真正危机针对自由软件运动之父理查德·斯托曼的协同式“取消”行动,暴露了一个令人不安的模式:科技媒体惯于用道德标签替代技术理解。本文探讨这一趋势如何危及开源讨论的根本基石。

常见问题

GitHub 热点“Selector Forge: AI-Generated CSS Selectors That Never Break on Web Updates”主要讲了什么?

Selector Forge is a newly released open-source browser extension that fundamentally rethinks how web elements are identified for automation. Traditional CSS and XPath selectors rel…

这个 GitHub 项目在“how does Selector Forge generate selectors that survive DOM changes”上为什么会引发关注?

Selector Forge's core innovation lies in its use of a lightweight transformer-based model that encodes DOM subtrees into a latent representation. Unlike traditional selector generators that rely on heuristic rules (e.g.…

从“Selector Forge vs Playwright locator comparison”看,这个 GitHub 项目的热度表现如何?

当前相关 GitHub 项目总星标约为 0,近一日增长约为 0,这说明它在开源社区具有较强讨论度和扩散能力。