SysAdminDoc/MHTMLens
GitHub: SysAdminDoc/MHTMLens
一款纯客户端的 MHTML 解析与用户脚本生成工具,专注于选择器稳定性评分与版本对比。
Stars: 0 | Forks: 0
# MHTMLens






https://sysadmindoc.github.io/MHTMLens/
## 为什么要使用 MHTMLens?
构建用户脚本和浏览器扩展意味着要与混淆的类名、不稳定的 CSS 选择器以及不断变更 DOM 的单页应用作斗争。将页面保存为 MHTML,然后拖入 MHTMLlens,即可获得:
- 对页面上的每个选择器进行稳定性评分(0–100)
- 标记混淆的类名,让你知道哪些不该使用
- 为每个元素推荐最佳选择器
- 自动生成 XPath 替代方案和 MutationObserver 代码片段
- 一键导出一个完整的 `.user.js` 文件
- 两文件对比,查看不同版本间哪些选择器得以保留
没有其它工具提供这些功能。最接近的替代方案是浏览器开发者工具(无评分、无导出、无对比)以及不适用于用户脚本的付费 SIEM 风格工具。
## 快速开始
```
git clone https://github.com/SysAdminDoc/MHTMLens.git
cd MHTMLens
# 在浏览器中打开 mhtmlens.html — 仅此而已
```
或者直接下载 `mhtmlens.html` 并双击打开。无需服务器、无需安装、无依赖。
### 保存 MHTML 文件
1. 在 Chrome/Edge 中打开目标页面
2. 按下 `Ctrl+S`(Mac 上为 `Cmd+S`)
3. 选择 **“网页,全部(.mhtml)”** 作为保存格式
4. 将保存的 `.mhtml` 文件拖入 MHTMLens
## 功能特性
| 功能 | 描述 |
|------|------|
| MHTML 解析器 | 支持字符集检测的 multipart MIME 解析,quoted-printable/base64 解码,嵌套边界支持 |
| 部件浏览器 | 浏览 MHTML 中的每个资源(HTML、CSS、JS、图片),可查看已解码内容和元数据 |
| 实时预览 | 在沙箱 iframe 中渲染页面,内联重构资源(图片和 CSS) |
| 元素选取器 | 悬停高亮元素,点击检查 —— 显示最佳选择器、路径、XPath 以及 MutationObserver 片段 |
| DOM 树 | 可交互的折叠树视图,使用颜色标注标签、ID、类、data 属性与文本内容 |
| 稳定性评分 | 基于选择器类型、混淆程度、深度、唯一性与语义强度给出 0–100 评分 |
| 最佳选择器 | 为每个元素自动推荐最具弹性的定位策略 |
| 混淆检测 | 通过模式与熵分析标记生成/哈希类名(CSS 模块、Tailwind 哈希、Emotion 等) |
| XPath 生成 | 为每个元素生成完整的 XPath,同时提供 CSS 选择器 |
| MutationObserver 生成 | 为每个元素提供可直接粘贴的观察者代码片段,用于 SPA 定位 |
| CSS 分析 | 提取 `