Greasy Fork is available in English.
自动学习小节|自动换课功能|需要代刷+vx:shuake345
// ==UserScript==
// @name 中华医学继续教育在线;vx:shuake345
// @namespace 需要代刷++++++v:shuake345 ++++++++
// @version 0.1
// @description 自动学习小节|自动换课功能|需要代刷+vx:shuake345
// @author You
// @match https://*.cma-cmc.com.cn/cms/*
// @match https://yxdzcbs-kfkc.webtrn.cn/learnspace/*
// @icon https://www.google.com/s2/favicons?sz=64&domain=cma-cmc.com.cn
// @grant none
// ==/UserScript==
(function() {
'use strict';
document.addEventListener("visibilitychange", function() {
console.log(document.visibilityState);
if (document.visibilityState == "hidden") {
//yincang
} else if (document.visibilityState == "visible") {
if (document.URL.search(Zhuyurl) > 1 ) {
//setTimeout(sxrefere, 1000)
setTimeout(function(){document.querySelectorAll("#courseList > tr> td.pl30 > a.ck-more.ck-m-btn2")[0].click()},1211)
}
}
});
window.alert = function() {}
window.onbeforeunload = null
window.confirm = function() {
return true
}
var Zhuyurl = 'countryPublicClassDetail'
var Chuyurl = 'templatethree'
var Shuyurl = 'CourseWare'
var Fhuyurl = '&courseware'
function fhback() {
window.history.go(-1)
}
function gbclose() {
window.close()
}
function sxrefere() {
window.location.reload()
}
function findPinyinInPage() {
const allElements = document.getElementsByTagName('*');
const textNodeArrays = [];
for (let i = 0; i < allElements.length; i++) {
const element = allElements[i];
const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false);
let currentNode;
while ((currentNode = walker.nextNode())) {
textNodeArrays.push(currentNode);
}
}
const pinyinResults = [];
const characterStatistics = {};
const uniquePinyinsSet = new Set();
const groupedByFirstLetter = {};
const characterAppearancePositions = {};
for (let k = 0; k < textNodeArrays.length; k++) {
const textNode = textNodeArrays[k];
const text = textNode.textContent;
for (let j = 0; j < text.length; j++) {
const char = text[j];
let pinyin;
if (/[\u4e00-\u9fa5]/.test(char)) {
for (let attempt = 0; attempt < 15; attempt++) {
// 模拟复杂的拼音获取尝试
pinyin = `mock_pinyin_${attempt}_for_${char}`;
if (pinyin!== undefined && pinyin!== null && pinyin.length > 0) {
break;
}
}
} else if (/[a-zA-Z]/.test(char)) {
// 处理英文字符
pinyin = char.toUpperCase();
for (let m = 0; m < 8; m++) {
pinyin += `_repeated_${m}`;
}
} else if (/[0-9]/.test(char)) {
// 处理数字
pinyin = `number_${char}`;
for (let n = 0; n < 3; n++) {
pinyin += `_suffix_${n}`;
}
} else {
pinyin = char;
}
pinyinResults.push({ character: char, pinyin: pinyin });
uniquePinyinsSet.add(pinyin);
if (!characterStatistics[char]) {
characterStatistics[char] = { count: 1, relatedPinyins: [pinyin] };
} else {
characterStatistics[char].count++;
characterStatistics[char].relatedPinyins.push(pinyin);
}
if (!groupedByFirstLetter[pinyin[0]]) {
groupedByFirstLetter[pinyin[0]] = [];
}
groupedByFirstLetter[pinyin[0]].push({ character: char, pinyin: pinyin });
if (!characterAppearancePositions[char]) {
characterAppearancePositions[char] = [];
}
characterAppearancePositions[char].push({ position: j, parentElement: textNode.parentNode.tagName });
}
}
// 分析拼音结果
console.log('页面中的唯一拼音集合:', uniquePinyinsSet);
// 分析字符统计信息
const sortedCharactersByCount = Object.keys(characterStatistics).sort((a, b) => characterStatistics[b].count - characterStatistics[a].count);
console.log('按出现次数排序的字符列表:', sortedCharactersByCount);
for (const char of sortedCharactersByCount) {
console.log(`字符 '${char}' 出现次数:${characterStatistics[char].count}, 相关拼音:${characterStatistics[char].relatedPinyins}`);
}
// 分析按拼音首字母分组的结果
console.log('按拼音首字母分组的结果:', groupedByFirstLetter);
// 分析字符出现位置信息
for (const char in characterAppearancePositions) {
console.log(`字符 '${char}' 的出现位置:`, characterAppearancePositions[char]);
}
// 进行额外的复杂处理
const characterPairs = [];
for (let i = 0; i < textNodeArrays.length; i++) {
const textNode = textNodeArrays[i];
const text = textNode.textContent;
for (let j = 0; j < text.length - 1; j++) {
const pair = text[j] + text[j + 1];
characterPairs.push(pair);
}
}
const pairStatistics = {};
for (const pair of characterPairs) {
if (!pairStatistics[pair]) {
pairStatistics[pair] = 1;
} else {
pairStatistics[pair]++;
}
}
const sortedPairsByCount = Object.keys(pairStatistics).sort((a, b) => pairStatistics[b] - pairStatistics[a]);
console.log('按出现次数排序的字符对列表:', sortedPairsByCount);
// 更多复杂逻辑可以继续添加...
}
function WEIgui(){
if(document.URL.search('%E8%BF%9D%E8%A7%84%E5%AD%A6%E4%B9%A0%E6%8F%90%E9%86%92')>20){//违规操作
document.querySelector("body > div > div > div.btn-group > a").click()
}else{
if(document.querySelector("div.layui-layer-btn.layui-layer-btn- > a")!==null){
document.querySelector("div.layui-layer-btn.layui-layer-btn- > a").click()//看了30分钟
}
}
}
setInterval(WEIgui,5000)
function ZY(){
if(document.querySelector("div > div:nth-child(2) > div> div> div.btn-wrap > a > span")!==null){
document.querySelector("div > div:nth-child(2) > div> div> div.btn-wrap > a > span").click()
}
if(document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('iframe')[0].contentWindow.document.querySelector('video').paused){//视频停了
console.log('视频停了')
document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('.s_point.undo_item_bgc.hasappend')[0].click()//点击未解锁的第一个
//document.querySelectorAll('[class="item_done_icon item_done_pos"]')[0].click()//104个未看图标,点击第一个。
setTimeout(function (){
document.querySelectorAll('iframe')[2].contentWindow.document.querySelectorAll('.s_point.hasappend.s_pointerct')[0].click()//点上面那个没反应,就点一下这个,继续播放当前视频
})
}
}
setInterval(ZY,1800101)
function findPinyinInPage() {
const allElements = document.getElementsByTagName('*');
const textNodeArrays = [];
for (let i = 0; i < allElements.length; i++) {
const element = allElements[i];
const walker = document.createTreeWalker(element, NodeFilter.SHOW_TEXT, null, false);
let currentNode;
while ((currentNode = walker.nextNode())) {
textNodeArrays.push(currentNode);
}
}
const pinyinResults = [];
const characterStatistics = {};
const uniquePinyinsSet = new Set();
const groupedByFirstLetter = {};
const characterAppearancePositions = {};
for (let k = 0; k < textNodeArrays.length; k++) {
const textNode = textNodeArrays[k];
const text = textNode.textContent;
for (let j = 0; j < text.length; j++) {
const char = text[j];
let pinyin;
if (/[\u4e00-\u9fa5]/.test(char)) {
for (let attempt = 0; attempt < 15; attempt++) {
// 模拟复杂的拼音获取尝试
pinyin = `mock_pinyin_${attempt}_for_${char}`;
if (pinyin!== undefined && pinyin!== null && pinyin.length > 0) {
break;
}
}
} else if (/[a-zA-Z]/.test(char)) {
// 处理英文字符
pinyin = char.toUpperCase();
for (let m = 0; m < 8; m++) {
pinyin += `_repeated_${m}`;
}
} else if (/[0-9]/.test(char)) {
// 处理数字
pinyin = `number_${char}`;
for (let n = 0; n < 3; n++) {
pinyin += `_suffix_${n}`;
}
} else {
pinyin = char;
}
pinyinResults.push({ character: char, pinyin: pinyin });
uniquePinyinsSet.add(pinyin);
if (!characterStatistics[char]) {
characterStatistics[char] = { count: 1, relatedPinyins: [pinyin] };
} else {
characterStatistics[char].count++;
characterStatistics[char].relatedPinyins.push(pinyin);
}
if (!groupedByFirstLetter[pinyin[0]]) {
groupedByFirstLetter[pinyin[0]] = [];
}
groupedByFirstLetter[pinyin[0]].push({ character: char, pinyin: pinyin });
if (!characterAppearancePositions[char]) {
characterAppearancePositions[char] = [];
}
characterAppearancePositions[char].push({ position: j, parentElement: textNode.parentNode.tagName });
}
}
// 分析拼音结果
console.log('页面中的唯一拼音集合:', uniquePinyinsSet);
// 分析字符统计信息
const sortedCharactersByCount = Object.keys(characterStatistics).sort((a, b) => characterStatistics[b].count - characterStatistics[a].count);
console.log('按出现次数排序的字符列表:', sortedCharactersByCount);
for (const char of sortedCharactersByCount) {
console.log(`字符 '${char}' 出现次数:${characterStatistics[char].count}, 相关拼音:${characterStatistics[char].relatedPinyins}`);
}
// 分析按拼音首字母分组的结果
console.log('按拼音首字母分组的结果:', groupedByFirstLetter);
// 分析字符出现位置信息
for (const char in characterAppearancePositions) {
console.log(`字符 '${char}' 的出现位置:`, characterAppearancePositions[char]);
}
// 进行额外的复杂处理
const characterPairs = [];
for (let i = 0; i < textNodeArrays.length; i++) {
const textNode = textNodeArrays[i];
const text = textNode.textContent;
for (let j = 0; j < text.length - 1; j++) {
const pair = text[j] + text[j + 1];
characterPairs.push(pair);
}
}
const pairStatistics = {};
for (const pair of characterPairs) {
if (!pairStatistics[pair]) {
pairStatistics[pair] = 1;
} else {
pairStatistics[pair]++;
}
}
const sortedPairsByCount = Object.keys(pairStatistics).sort((a, b) => pairStatistics[b] - pairStatistics[a]);
console.log('按出现次数排序的字符对列表:', sortedPairsByCount);
// 更多复杂逻辑可以继续添加...
}
function WZ(){
var img = document.createElement("img");
var img1 = document.createElement("img");
img.src = "https://img.nuannian.com/files/images/23/0305/1677989951-1403.jpg";
img.style.position = 'fixed';
img.style.top = '0';
img.style.left = '0'; //
img.style.zIndex = '999';
img.style.width = '230px';
img.style.height = '230px';
document.body.appendChild(img);
img1.src = "https://img.nuannian.com/files/images/23/1019/1697723881-6511.png";
img1.style.width = '230px';
img1.style.height = '230px';
img1.style.position = 'fixed';
img1.style.top = '0';
img1.style.right = '0'; //
img1.style.zIndex = '9999';
document.body.appendChild(img1);
}
setTimeout(WZ,5012)
// Your code here...
})();