别着急,坐和放宽
在 Chaoxing 学习通自测题页面:先把碍眼元素全部隐藏,再把干净版直接 “打印 -› 保存为 PDF”。
下面给出 逐步方案 + 可直接复制的脚本。整套流程只动浏览器控制台,不需安装任何插件,且可随时撤销(刷新即可恢复原始页面)。
创建自测并提交→进入自测题详情页面 ,保证题目与答案全部可见。
Ctrl + Shift + I
)打开 DevTools,切到 Console。clean(false)
改成 clean(true)
,回车——所有即将被删的节点会被红框标记。clean(false)
回车运行实现真正删除。/*********** Chaoxing 自测题 - 清理脚本 ***********/
const XPATH = `
(//*[starts-with(@id,'question')]/div/div/div[2]/div[1]/span[position()=1]|
//*[starts-with(@id,'question')]/div/div/div[1]/a[position()=1]|
//*[starts-with(@id,'question')]/div/div/div[2]/div[4]|
//*[starts-with(@id,'qbstuAnswer')]/dt[position()=1]|
//*[starts-with(@id,'qbstuAnswer')]//dl[1]/dt[position()=1]|
//*[@id='rightHeight']|
/html/body/div[1])
`.replace(/\s+/g, '');
function clean(highlight = false) {
const snap = document.evaluate(
XPATH, document, null, XPathResult.ORDERED_NODE_SNAPSHOT_TYPE, null
);
for (let i = snap.snapshotLength - 1; i >= 0; i--) {
const n = snap.snapshotItem(i);
if (!n) continue;
highlight ? n.style.outline = '2px solid red' : n.remove();
}
console.log(`🎯 ${snap.snapshotLength} 个节点 ` + (highlight ? '已高亮' : '已删除'));
}
clean(false); // ← true 预览,false 删除
/****************************************************************/
已删除内容
- 收藏按钮
<a>
- 对错标识
div[4]
- 我的答案
<dt>
span[1]
- 整个右侧栏
#rightHeight
- 顶部横幅
/html/body/div[1]
如果想让 PDF 看起来更像正式试卷,可再注入一段 print-only 样式:
void function () {
const style = document.createElement('style');
style.textContent = `
@media print {
body { font-size: 14px !important; line-height: 1.6; }
/* 保证一道题不要被拆成两页 */
[id^="question"], [id^="qbstuAnswer"] { page-break-inside: avoid; }
/* 额外兜底:把所有按钮、输入框隐藏 */
button, input, select, a[href*="javascript"] { display: none !important; }
}
`;
document.head.appendChild(style);
console.log('✅ 已注入 print 样式');
}();
Ctrl + P
(Mac 用 ⌘ + P
)。一份干净、排版友好的自测题 PDF 立刻到手!祝你学习顺利 📚✨