Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // ==UserScript==
- // @name NTHU ccxp Dump Course Classmate
- // @namespace http://tampermonkey.net/
- // @version 0.1
- // @description dump classmate in current course to csv
- // @author You
- // @match https://www.ccxp.nthu.edu.tw/ccxp/COURSE/JH/7/7.2/7.2.16/JH72g003.php
- // @grant none
- // ==/UserScript==
- (function() {
- 'use strict';
- function download(name, content) {
- let element = document.createElement('a');
- let url = URL.createObjectURL(new Blob([content], { type: "text/csv" }));
- element.setAttribute('href', url);
- element.setAttribute('download', name);
- element.style.display = 'none';
- document.body.appendChild(element);
- element.click();
- document.body.removeChild(element);
- URL.revokeObjectURL(url);
- }
- let buttons = document.querySelector("form[name='form1'] p");
- buttons.innerHTML += `<input type="button" value="產生修課同學名單 (CSV 格式)">`;
- buttons.querySelector("input:last-child").onclick = function() {
- let courseInfo = document.querySelector("table.class3");
- const courseId = courseInfo.querySelector("td:nth-of-type(1)").innerText;
- const courseName = courseInfo.querySelector("td:nth-of-type(2)").innerText.split("\n")[0];
- let result = [];
- for (let row of document.querySelector("table:not(.class2):not(.class3)").querySelectorAll("tr")) {
- let [_, id, studentId, studentName, studentDepartment, studentEmail] = [...(Array.from(row.children).map(el => el.innerText))];
- result.push(`${id},${studentId},${studentName},${studentDepartment},${studentEmail}`)
- }
- download(`${courseId} ${courseName}.csv`, result.join("\n"));
- }
- })();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement