LT网上学院刷课

进入专题准备选课的时候自动开始。关闭其他标签页刷新

  1. // ==UserScript==
  2. // @name LT网上学院刷课
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.2
  5. // @description 进入专题准备选课的时候自动开始。关闭其他标签页刷新
  6. // @author You
  7. // @match http://wsxy.chinaunicom.cn/learner/subject/*
  8. // @match http://wsxy.chinaunicom.cn/learner/course/detail/*
  9. // @match http://wsxy.chinaunicom.cn/learner/play/course/*
  10. // @grant GM_setValue
  11. // @grant GM_getValue
  12. // @grant GM_addValueChangeListener
  13. // @icon http://wsxy.chinaunicom.cn/favicon.ico
  14. // ==/UserScript==
  15.  
  16. (function() {
  17. 'use strict';
  18.  
  19. // Your code here...
  20. var reg1 = /learner\/subject/g
  21. var subjectCount = 0
  22. GM_setValue("jumpFlag",false)
  23. //持续检测网址,以便监测网址变化
  24. setInterval(function(){
  25. console.log("新测试进行中:" + GM_getValue("url"))
  26. //保存当前地址“url”到脚本,以便检测变化
  27. GM_setValue("url",location.href)
  28. //需要加入选课界面卡住刷新机制
  29. if(reg1.test(location.href)){
  30. console.log("卡【选课界面】计数:"+subjectCount)
  31. subjectCount++
  32. if(subjectCount>10){ // >10是10秒的意思
  33. //刷新当前页面
  34. location.reload()
  35. }
  36. }
  37. },1000)
  38. //监听url变化
  39. GM_addValueChangeListener("url",function(){
  40. console.log("url发生了变化!!!" + GM_getValue("url"))
  41. if(getInterface()==1){
  42. //console.log("【选课界面】")
  43. //保存根地址到全局变量
  44. GM_setValue("rootUrl",location.href)
  45. console.log("已保存根地址【" + GM_getValue("rootUrl") + "】到【rootUrl】")
  46. //alert("请【关闭】其他网上学院的页面(没有就直接点【确定】),并自动继续")
  47. var t1 = setInterval(function(){
  48. if(findClass("single-course")){
  49. //加载完成
  50. clearInterval(t1)
  51. setAll_parent()
  52. //执行学习function
  53. //study()
  54. }
  55. },200)
  56. }else if(getInterface()==2){
  57. //
  58. console.log("【大纲界面】")
  59. //alert("标志位为:" + GM_getValue("jumpFlag"))
  60. //检测跳转标志位
  61. if(GM_getValue("jumpFlag")){
  62. //alert("if")
  63. GM_setValue("jumpFlag",false)
  64. //跳转到选课界面
  65. location.assign(GM_getValue("rootUrl"))
  66. }else{
  67. //alert("else")
  68. clickStartStudy()
  69. }
  70. }else if(getInterface()==3){
  71. //
  72. console.log("【播放界面】")
  73. //倒计时:秒
  74. var countDown = 200
  75. var t2 = setInterval(function(){
  76. countDown--
  77. document.getElementsByClassName("player-name ")[0].innerText="【"+countDown+"】秒后自动刷新"
  78. if(countDown<0){
  79. //倒计时到了
  80. clearInterval(t2)
  81. //设置需要跳转的标志位,后退后取标志位再跳转一次
  82. GM_setValue("jumpFlag",true)
  83. //先点保存记录
  84. //save-logout-box ant-btn ant-btn-primary
  85. document.getElementsByClassName("save-logout-box ant-btn ant-btn-primary")[0].click()
  86.  
  87. //点击左上角后退
  88. document.getElementsByClassName("back-course")[0].click()
  89. }// if(countDown<0)
  90. },1000) //var t2 = setInterval
  91. } //else if(getInterface()==3)
  92. }) //GM_addValueChangeListener
  93.  
  94.  
  95. window.onload = function(){
  96. //防止选课界面刷新不能从当前窗口打开
  97. if(getInterface()==1){
  98. //console.log("【选课界面】")
  99. GM_setValue("rootUrl",location.href)
  100. console.log("已保存根地址【" + GM_getValue("rootUrl") + "】到【rootUrl】")
  101. //alert("请【关闭】其他网上学院的页面(没有就直接点【确定】),并自动继续")
  102. var t1 = setInterval(function(){
  103. if(findClass("single-course")){
  104. //加载完成
  105. clearInterval(t1)
  106. setAll_parent()
  107. //执行学习function
  108. study()
  109. }//if(findClass("single-course"))
  110. },200)//var t1 = setInterval(function()
  111. }//if(getInterface()==1)
  112. }//onload完
  113.  
  114. function setTitle(text){
  115. //
  116. document.getElementsByTagName("title")[0].innerText = text
  117. }
  118.  
  119. function getInterface(){
  120. var reg1 = /learner\/subject/g
  121. var reg2 = /learner\/course/g
  122. var reg3 = /learner\/play/g
  123. if(reg1.test(location.href)){
  124. //console.log("【选课界面】")
  125. return 1
  126. }else if(reg2.test(location.href)){
  127. //console.log("【大纲界面】")
  128. return 2
  129. }else if(reg3.test(location.href)){
  130. //console.log("【播放界面】")
  131. return 3
  132. }
  133. }
  134.  
  135. function study(){
  136. //先点未完成
  137. document.getElementsByClassName("right")[1].children[6].click()
  138. var t1 = setInterval(function(){
  139. if(findClass("single-course")){
  140. //有【未完成】
  141. clearInterval(t1)
  142. //设置当前窗口打开
  143. setAll_parent()
  144. console.log("【未完成】YES: "+document.getElementsByClassName("single-course")[0].children[0].children[1].children[0].innerText)
  145. //点击第一个课程
  146. document.getElementsByClassName("single-course")[0].children[0].click()
  147. }else if(findClass("default-box")){
  148. //没有【未完成】
  149. clearInterval(t1)
  150. console.log("【未完成】NO")
  151. //点击【未学习】
  152. document.getElementsByClassName("right")[1].children[2].click()
  153. var t2 = setInterval(function(){
  154. if(findClass("single-course")){
  155. //没有【未完成】-有【未学习】
  156. clearInterval(t2)
  157. //设置当前窗口打开
  158. setAll_parent()
  159. console.log("【未学习】YES: "+document.getElementsByClassName("single-course")[0].children[0].children[1].children[0].innerText)
  160. //点击第一个课程
  161. document.getElementsByClassName("single-course")[0].children[0].click()
  162. }else if(findClass("default-box")){
  163. //没有【未完成】-也没有【未学习】
  164. clearInterval(t2)
  165. //alert("已完成全部课程")
  166. study()
  167. }
  168. },1000)
  169. }
  170. },1000)
  171.  
  172.  
  173.  
  174.  
  175. }
  176. function clickStartStudy(){
  177. var t2 = setInterval(function(){
  178. if(findClass("course-button ant-btn ant-btn-default")){
  179. console.log("【大纲界面】-加载完成")
  180. clearInterval(t2)
  181. document.getElementsByClassName("course-button ant-btn ant-btn-default")[0].click()
  182. }else{
  183. console.log("【大纲界面】-加载中...")
  184. }
  185. },200)
  186. }
  187. function setAll_parent(){
  188. //全改当前窗口打开
  189. console.log("全改成当前窗口打开")
  190. var n = document.getElementsByClassName("single-course").length
  191. for (var i=0;i<n;i++){
  192. document.getElementsByClassName("single-course")[i].children[0].target="_parent"
  193. }
  194. }
  195.  
  196.  
  197. function findClass(className){
  198. if(document.getElementsByClassName(className).length>0){
  199. return true
  200. }else{
  201. return false
  202. }
  203. }
  204. })();

QingJ © 2025

镜像随时可能失效,请加Q群300939539或关注我们的公众号极客氢云获取最新地址