Skip to content

适用范围与已知边界 ​

来源:table-flow/docs/SCOPE_AND_FEATURES.md §一/二/五/六(删去扫描阈值与代码索引章节)。

一句话定位 ​

TableFlow 从浏览器已经渲染出来的 DOM 上采集数据:页面上画出来的表格都能采(原生 <table>、div 型框架表格、iframe 里的表格);数据只存在于接口响应或 JS 变量里、从未渲染成 DOM 的列表采不到。

术语速查(给不看技术文档的用户) ​

界面/文档里的词日常说法
DOM / 渲染浏览器按网页代码"画"出来的成品页面。插件只认画好的成品
原生表格 / div 表格真表格(<table>)vs 用小方块拼出来的"仿表格"(Element UI、Ant Design 等框架都这么做)
iframe / 内嵌网页里再开一扇小窗,窗里是另一张网页,像画中画
同源 / 跨域同源=同一家网站自己的窗,能直接看进去;跨域=别人家的窗,中间有墙,只能"递纸条"(postMessage)
跨域白名单门禁名单。默认只放行政务类域名,其他站点的窗要在设置里手动放行
虚拟滚动长列表只画看得见那几行,滚到哪画到哪。像老式电话簿只印当前一屏
封页判断"这页已经采全了"才允许翻下一页;判断不了就停下来问你,而不是悄悄漏采
检查点 / 断点续采下载断了能续传,采集也一样,大表按行记进度
canvas 表格用画笔画在画布上的表,本质是图片——看得到,读不出文字

场景覆盖矩阵 ​

场景状态关键边界
原生 <table>(含无 thead、表头表体分离、<td> 内嵌套子表)✅ 完整支持XHTML 页面同样兼容
已登记框架表格(Element UI / Element Plus / Ant Design / Bootstrap Table / Layui)✅表头/固定列副本归并为同一张表;同源 iframe 内的框架表也可扫
未登记组件库(AG Grid、vxe-table、TDesign、Arco、Naive UI 等)⚠️ 降级底层是原生 <table> 的可兜底采集;div 型行、表头分离、固定列克隆形态在适配前采不全
ARIA Grid / Table✅当前页读取
虚拟滚动表格(纵向)⚠️自动滚动逐屏抓取去重;不返回单元格样式与合并信息
横向 / 双轴虚拟表格🕐 未实现尚未接入默认采集链路
同源 iframe(任意层级嵌套)✅递归不限层级,扫描/读取/翻页/高亮/手动拾取全链路
跨域 iframe⚠️白名单(.gov.cn / .mil.cn / .gov)或设置放开后可用;单帧 8 秒超时按空结果;帧内表不参与合并、帧内不支持手动拾取翻页入口
传统「下一页」按钮分页✅默认最大 50 页
页码序列分页器(只有 1 2 3 … N)✅页码 +1 硬校验防静默跳页;三级自愈
Load More / 无限滚动⚠️仅在检测到明确 append/load-more 证据时启用;无法证明完整即暂停或回退
手动拾取翻页入口⚠️30 秒无操作自动停止;跨域帧内不支持
多级表头与合并单元格✅上级 > 子级 命名;预览与导出同步还原
单元格内表单控件✅按可见值采集;密码脱敏、隐藏域不采
慢加载 / 采集期页面变化✅未加载完即扫描会给风险提示与重扫引导
断线续采与行级检查点✅旧版本检查点/模板向后兼容
预览 / 去重 / 导出全格式✅长数字防科学计数法;CSV 公式注入防护
模板系统✅合并表产物不可存为模板
离线激活(Pro 专属)✅零网络本地验签;一文件一码 + 一文件一机
在线激活(hybrid)⚠️本地验签即可用,后台惰性确认;服务器否决后恢复免费
canvas 绘制的表格❌ 不支持本质是图片,明确不承诺
未渲染到 DOM 的数据❌只在接口响应 / JS 变量里
浏览器禁止注入页(chrome://、扩展商店、内置 PDF、about:/edge:)❌面板提示不支持
srcdoc: / blob: / data: iframe❌拿不到子帧脚本,放开跨域扫描也拒绝
closed / 不可遍历 Shadow DOM❌/⚠️仅可遍历的 open ShadowRoot 内表格按证据扫描
Generic CSS Grid🕐默认关闭,仅显式实验开关下只读评分,不进采集链路
内网在线模式(半离线服务器)❌产品定案不做
旧版(RSA 签名)激活码❌不做兼容,需平台用新算法重签

已知边界(如实告知,不粉饰) ​

机制限制(浏览器架构决定)

  • canvas 渲染的表格读不出文字。
  • 数据没渲染到页面上就采不到;断网时拿不到未加载的数据。
  • 宿主页面自己的 Shadow DOM:只有当前可遍历的 open ShadowRoot 内、且有 adapter 支撑的表格才保证;closed、不可遍历、重建后失去稳定定位的不保证。
  • 浏览器禁止注入的页面无法工作。

主动取舍(为正确性牺牲便利)

  • 尺寸门槛:iframe 可见尺寸过小(< 200×150)跳过跨域扫描;宽或高为 0 的表格跳过。
  • 候选表上限:主文档与同源帧最多 20 张(跨域追加)。表特别多的页面建议先合并收敛。
  • 超大虚拟列表:单次采集迭代上限动态估算(默认 200,最高 5000)防死循环;触顶未触底时以已采结果为准并上报诊断。
  • 虚拟滚动采集不返回单元格样式与合并信息。
  • 旧缓存/模板缺新字段时按旧语义解码,基础导出结构不变。

产品定案(明确不做)

  • 内网在线模式;离线激活的联网撤销复检;免费翻页额度离线化;旧 RSA 码兼容。
  • 注意:离线激活不经服务器登记,平台撤销后纯离线设备不会感知。

待补齐(不承诺时间点)

  • 翻页拾取缺 Escape 取消、FAB 缺键盘 toggle、高亮仅靠颜色与动效表达(无障碍)。
  • 横向/双轴虚拟表、Shadow 表格重建后的稳定定位、跨域帧内手动拾取与合并。
  • 大表性能基线尚未建立。

采集、预览与导出在本地完成 · 匿名错误诊断可在设置中关闭