|
大家好,我在实际工作中经常需要打开 FineBI 看板,输入销售日期、地区、门店、商品类别等筛选条件,再切换到目标页签导出指定明细组件。
人工操作比较重复。高峰期页面加载较慢时,还可能遇到筛选组件尚未可操作、目标组件仍在刷新,或者误导出上一轮数据的问题。因此,我整理并开源了一个基于 Playwright 的 FineBI 看板组件导出工具。
【项目定位】
这是一个纯浏览器自动化工具,不修改 FineBI 服务端,也不依赖未公开接口。脚本使用用户正常登录后的 Chrome,在已有权限范围内完成筛选和导出。
核心原则是:该等的时候等待目标组件,不该等的时候不等待无关页面状态。
【目前支持】
1. 扫描页面上的过滤组件和数据组件。
2. 根据过滤器标签定位文本输入框和日期区间控件。
3. 支持文本输入和日期区间筛选;页面文本控件支持批量粘贴时,可按换行输入多个值。
4. 支持切换指定页签。
5. 支持按组件标题、组件 ID 或表头特征定位目标组件。
6. 支持导出没有显示标题的明细表组件。
7. 最后一次筛选后,等待目标组件发生本轮刷新并达到稳定状态。
8. 区分加载中、真实数据和确认无数据。
9. 仅使用目标组件的导出入口,不错误回退到全局导出。
10. Windows 双击 start.bat 即可运行,导出文件默认添加时间戳。
【运行演示】
演示过程包括:输入筛选条件 -> 等待组件刷新 -> 切换目标页签 -> 定位组件 -> 导出 Excel。

【快速开始】
1. 安装 Node.js 20 或更高版本,以及 Google Chrome。
2. 从 GitHub Release 下载 Windows ZIP 并解压。
3. 第一次运行 start.bat,生成 config.local.json。
4. 填写看板 URL、筛选条件和目标组件识别条件。
5. 再次运行 start.bat,在脚本打开的 Chrome 中完成登录。
6. 建议先运行 scan,核对识别出的过滤组件和数据组件,再执行正式导出。
GitHub 项目:
https://github.com/Charlesnyu/finebi-playwright-exporter
Windows v0.1.0:
https://github.com/Charlesnyu/finebi-playwright-exporter/releases/tag/v0.1.0
项目采用 MIT License。
【适用范围和限制】
1. 当前版本为 v0.1.0,主要面向 Windows、Chrome 和 FineBI 网页看板。
2. 不保证兼容所有 FineBI 版本、主题和自定义组件。
3. 不绕过登录、验证码、数据权限或其他访问控制。
4. 当前一个看板使用一个配置文件;批量运行多个看板可通过 Windows 任务计划程序或外层批处理顺序调用。
5. 高峰期仍会受到 FineBI 服务端响应速度影响,但脚本会尽量等待目标过滤组件和目标导出组件,而不是仅依赖 networkidle 或全局 loading。
【安全说明】
本项目是非官方开源工具,与帆软软件有限公司没有隶属、赞助或授权关系。
登录状态、看板配置、扫描报告和导出文件都保存在用户本机。请不要把 chrome_profile、Cookie、Token、完整业务截图、私有看板地址或业务 Excel 上传到公开仓库和社区。 |