// ==UserScript== // @name 计算总学分 // @namespace http://tampermonkey.net/ // @version 0.5 // @description 此脚本用来计算教务管理系统中当前学生的已经获得的所有学分 // @author MoMingLog // @include *//jwglxt.jxstnu.edu.cn/jwglxt/xsxy/xsxyqk_cxXsxyqkIndex.html* // @icon https://s4.ax1x.com/2021/12/07/o6DNOH.png // @grant none // @license GNU GPLv3 // @downloadURL none // ==/UserScript== (function() { 'use strict'; function expand() { /** * 一键展开 */ var expandList = document.querySelectorAll(".expandable-hitarea") for (var i = 0; i < expandList.length; i++) { var xf = expandList[i].click() } } function expandAll() { /** * 一键展开(全部) */ expand() expandAndCollapMore() } function collap() { /** * 一键收拢 */ var collapList = document.querySelectorAll(".collapsable-hitarea") for (var i = 0; i < collapList.length; i++) { var xf = collapList[i].click() } } function expandAndCollapMore() { /** * 展开/收拢下拉列表 */ var moreList = document.querySelectorAll(".more") for (var i = 0; i < moreList.length; i++) { moreList[i].click() } } collap() var majorCategories = document.querySelectorAll('#ulC66FE4774B84133BE053DE0412AC78BD>li>div.title>p.title1') var reg = /\s获得学分:([\.\d+]*)/ var majorScoreSum = 0 for (var i = 0; i < majorCategories.length; i++) { var majorCategorieStr = majorCategories[i].innerText var majorScore = majorCategorieStr.match(reg)[1] majorScoreSum += parseFloat(majorScore) } var otherScoreTrs = document.querySelectorAll('#tbodyqtkcxfyq tr td[name="xf"]') var otherScoreSum = 0 for (var i2 = 0; i2 < otherScoreTrs.length; i2++) { var otherScore = otherScoreTrs[i2].innerText otherScoreSum += parseFloat(otherScore) } var sumScore = majorScoreSum + otherScoreSum var alertBox = document.querySelector("#alertBox") var innerHtmlStr = `
学分情况
主修课程学分 ` + majorScoreSum + `
其他课程学分 ` + otherScoreSum + `
综合学分总和 ` + sumScore + `
一键展开 一键展开(全部)
下拉/上收 一键收拢(全部)
` alertBox.innerHTML += innerHtmlStr })();