
本文介绍如何通过修改 spark-config.json 中的 js 配置项,使用 JavaScript 动态替换 Extent Spark 报告页眉默认 Logo 为自定义图片,避免 CDATA 语法错误和路径失效问题。
本文介绍如何通过修改 `spark-config.json` 中的 `js` 配置项,使用 javascript 动态替换 extent spark 报告页眉默认 logo 为自定义图片,避免 cdata 语法错误和路径失效问题。
Extent Spark 报告默认在页眉显示 “Extent” 文字 Logo,若需替换为企业 Logo(如 CompanyLogo.png),不能直接在 js 字段中插入 HTML 片段(如 标签或 CDATA)——因为 js 字段仅接受合法的 JavaScript 表达式字符串,用于在报告生成后执行 DOM 操作。
正确做法是:复用原有 .logo 元素(一个 标签),仅更新其 src 属性。Extentspark 的 HTML 结构中,.logo 类名通常绑定在页眉的
元素上,因此可直接通过 document.querySelector('.logo') 获取并修改:
使用ydata-profiling(前身为pandas-profiling)生成全面的数据质量报告,包含相关性分析、缺失值模式和基数检测。导出交互式HTML仪表板和JSON摘要。
{
"theme": "STANDARD",
"encoding": "utf-8",
"protocol": "HTTPS",
"timelineEnabled": true,
"offlineMode": true,
"thumbnailForBase64": false,
"documentTitle": "Test Automation Report",
"reportName": "TA Report",
"timeStampFormat": "MMM dd, yyyy HH:mm:ss a",
"js": "document.querySelector('.logo').setAttribute('src', './src/test/resources/Logo/CompanyLogo.png');",
"css": ""
}
✅ 关键说明:
- ✅ 使用 setAttribute('src', ...) 替换原图路径,无需隐藏再插入新元素,语义清晰且兼容性强;
- ✅ 路径 ./src/test/resources/Logo/CompanyLogo.png 是相对路径,需确保该图片随报告一同打包发布(例如:生成报告时将 Logo/ 目录复制到 extent-report/ 输出目录下);
- ❌ 避免使用 document.getElementsByClassName('logo')[0].style.display = 'none' + 手动 appendChild(),这会破坏原有结构且易因 DOM 加载时机失败;
- ⚠️ 若 .logo 元素不存在或非
类型(如某些主题中为
),可先检查生成的 HTML 源码,改用更鲁棒的选择器,例如:"js": "const logo = document.querySelector('.header .logo img') || document.querySelector('.logo'); if(logo) logo.src = './src/test/resources/Logo/CompanyLogo.png';"最后,验证方式:生成报告后,打开 index.html → 查看页眉区域 → 右键检查元素 → 确认
的 src 已指向你的 PNG 文件,并能正常加载。若图片不显示,请检查浏览器控制台是否报 404 错误,并确认图片已正确部署至报告输出目录对应路径。










