正保365挂课脚本-全网唯一-增强多功能脚本

正支持自动播放、自动答题、自动静音、自动切课,目前版本对于常规问题非常稳定,全网目前唯一自动化脚本.

  1. // ==UserScript==
  2. // @name 正保365挂课脚本-全网唯一-增强多功能脚本
  3. // @namespace http://tampermonkey.net/
  4. // @version 1.4
  5. // @description 正支持自动播放、自动答题、自动静音、自动切课,目前版本对于常规问题非常稳定,全网目前唯一自动化脚本.
  6. // @author BomLuo
  7. // @match *://xuexi.zikao365.com/xcware/video/videoPlay/videoPlayhls.shtm?*
  8. // @match *://xuexi.zikao365.com/xcware/video/h5video/videoPlay.shtm?*
  9. // @match *://member.zikao365.com/qzgckh*
  10. // @license AGPL License
  11. // @grant unsafeWindow
  12. // @grant GM_xmlhttpRequest
  13. // @grant GM_setValue
  14. // @grant GM_getValue
  15. // @connect *
  16. // @charset UTF-8
  17. // ==/UserScript==
  18. (function() {
  19. 'use strict';
  20. // console.log(document.location.href)
  21.  
  22. if(/member.zikao365\.com/i.test(document.location.href)){
  23. console.log("==========Run two=========")
  24. //获取答案编号栏
  25. var tes = $(".dY a")[0];
  26. // console.log(tes.href)
  27. //跨域请求参数 【第一个url会拼接参数到form表单,在跳转到另一个接口获取答案】
  28. GM_xmlhttpRequest({
  29. method: "GET",
  30. url: tes.href,
  31. headers: {
  32. "Content-Type": "application/x-www-form-urlencoded;charset=utf-8"
  33. },
  34. data:"",
  35. onload: function(response){
  36. // console.log("请求成功");
  37. const template=response.responseText;
  38. //将html转为dom
  39. let tempNode = document.createElement('html');
  40. tempNode.innerHTML = template;
  41. //这里处理如果查不到答案
  42. console.log(tempNode.childNodes.length)
  43. var data=new Object();
  44. if(tempNode.childNodes.length>2){
  45. var formdata=tempNode.childNodes[2].children[10].children;
  46. if(formdata.length!=0){
  47. data.boardID=formdata[0].value;
  48. data.Forum_ID=formdata[1].value;
  49. data.categoryID=formdata[2].value;
  50. data.location=formdata[3].value;
  51. data.askMode=formdata[4].value;
  52. data.m_email=formdata[5].value;
  53. data.m_moren=formdata[6].value;
  54. data.location=formdata[7].value;
  55. data.majorID=formdata[8].value;
  56. data.pointIDs=formdata[9].value;
  57. data.questionID=formdata[10].value;
  58. }
  59. }
  60. //带着解析后的参数挖掘答案
  61. $.ajax(
  62. {
  63. type: 'post',
  64. async: false,
  65. headers: {
  66. accept: "text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9",
  67. },
  68. url: "//member.zikao365.com/faqgckh/topic.shtm",
  69. contentType:"application/x-www-form-urlencoded",
  70. data: data,
  71. success: function (data)
  72. {
  73. //将html转为dom
  74. let tempNode = document.createElement('html');
  75. tempNode.innerHTML = data;
  76. console.log(tempNode.childNodes)
  77. //处理错误页面
  78. if(tempNode.childNodes.length<3){
  79. var remains1="B";
  80. for(let i=0;i<$(".saveOneQuestion").length;i++){
  81. if($(".saveOneQuestion").eq(i)[0].value.indexOf(remains1)>=0){
  82. $(".saveOneQuestion").eq(i)[0].click(); //点击单选框
  83. $(".savePaper").eq(0).click();//点击提交
  84. $(".btn-h5Tips").eq(0)[0].click();//点击确定提交
  85. break;
  86. }
  87. }
  88. GM_setValue("state",1) //传递信息已经答题完毕
  89. breka;
  90. }
  91. var dan=tempNode.childNodes[3].children[5].children[1].children[0].children[3].children[0].children[5].children[1].outerText; //答案在这里
  92. //处理答案
  93. // console.log(dan.indexOf("】"))
  94. // console.log(dan.indexOf("【"))
  95. // console.log(dan.indexOf("【",dan.indexOf("【")+1))
  96. var remains=dan.substr(dan.indexOf("】")+1,dan.indexOf("【",dan.indexOf("【",dan.indexOf("【")+1))-dan.indexOf("】")-2); //真正的答案
  97. // console.log(remains.length)
  98. // console.log("***")
  99. if(remains.length==0){remains="B";}
  100. //如果是多选题
  101. if(remains.length>1){
  102. for(let i=0;i<$(".saveOneQuestion").length;i++){
  103. if(remains.indexOf($(".saveOneQuestion").eq(i)[0].value)>=0){
  104. $(".saveOneQuestion").eq(i)[0].click(); //点击多选
  105. }
  106. }
  107. $(".savePaper").eq(0).click();//点击提交
  108. $(".btn-h5Tips").eq(0)[0].click();//点击确定提交
  109. }else{
  110. //遍历查找答案
  111. for(let i=0;i<$(".saveOneQuestion").length;i++){
  112. if($(".saveOneQuestion").eq(i)[0].value.indexOf(remains)>=0){
  113. $(".saveOneQuestion").eq(i)[0].click(); //点击单选框
  114. $(".savePaper").eq(0).click();//点击提交
  115. $(".btn-h5Tips").eq(0)[0].click();//点击确定提交
  116. break;
  117. }
  118. }
  119. }
  120. GM_setValue("state",1) //传递信息已经答题完毕
  121. },
  122. error:function(err){
  123. // console.log("第二请求错误"+err)
  124. var remains="B";
  125. for(let i=0;i<$(".saveOneQuestion").length;i++){
  126. if($(".saveOneQuestion").eq(i)[0].value.indexOf(remains)>=0){
  127. $(".saveOneQuestion").eq(i)[0].click(); //点击单选框
  128. $(".savePaper").eq(0).click();//点击提交
  129. $(".btn-h5Tips").eq(0)[0].click();//点击确定提交
  130. break;
  131. }
  132. }
  133. GM_setValue("state",1) //传递信息已经答题完毕
  134. }
  135. });
  136. },
  137. onerror: function(response){
  138. console.log("请求失败");
  139. }
  140. });
  141. }else{
  142. console.log("==========Run one=========")
  143. GM_setValue("state",0);//初始化完成命令
  144. var videos = $('#my-video');
  145. for (var i = 0; i < videos.length; i++) {
  146. var current_video = videos[i]
  147. // 静音
  148. current_video.volume = 0
  149. // 2倍速
  150. //current_video.playbackRate = 2.0
  151. if (current_video.paused) {
  152. current_video.play()
  153. }
  154. }
  155.  
  156. setInterval(function () {
  157. console.log(GM_getValue("state"))
  158. if(GM_getValue("state")===1){
  159. // console.log($(".sure.fr.msf"))
  160. $(".sure.fr.msf").eq(0)[0].click();
  161. GM_setValue("state",0)
  162. console.log("答题完毕,继续自动播放.....")
  163. }
  164. },2000)
  165.  
  166. }
  167.  
  168. // Your code here...
  169. })();

QingJ © 2025

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