导出步骤
- 以教师身份登陆荷塘雨课堂,进入
我教的课
- 打开想要导出的题目,进入批改界面
- 按
F12
,进入开发者模式,打开控制台,如图1所示 - 复制以下控制命令,
Ctrl+V
粘贴到控制台命令行,回车运行 - 在默认下载文件夹中即可找到导出的主观题作答情况,支持修改目标路径
let tbody = document.getElementsByClassName('el-table__body')[0].children[1];
trs = tbody.getElementsByTagName('tr');
let ans = []
async function test() {
let ans = [];
for (let i = 0; i < trs.length; i++) {
console.log(i);
trs[i].click();
await sleep(1000);
ans.push('--------');
ans.push(i);
ans.push(document.getElementsByClassName('el-table__row current-row')[0].querySelector('.number').textContent.trim());
ans.push(document.getElementsByClassName('el-table__row current-row')[0].querySelector('.username').textContent.trim());
ans.push(document.getElementsByClassName('ql-editor')[0].textContent);
await sleep(500);
}
// 将ans数组转换为字符串
const dataStr = ans.join('\n'); // 每个元素占一行
const blob = new Blob([dataStr], { type: 'text/plain' }); // 创建Blob对象
const url = URL.createObjectURL(blob); // 创建下载链接
// 创建a标签并模拟点击以下载文件
const a = document.createElement('a');
a.href = url;
a.download = '1-课后-复习-主观题1.txt'; // 指定下载文件名,默认路径
a.click();
// 清理资源
URL.revokeObjectURL(url);
}
function sleep(ms) {
return new Promise(resolve => setTimeout(resolve, ms));
}
test();
图1 开发者模式-控制台
原理
TODO