浙江网校刷课助手

自动播放,有文档自动点击完成,自动倍速播放(这个需要在不开脚本情况下可以倍速才可以用)

  1. // ==UserScript==
  2. // @name 浙江网校刷课助手
  3. // @namespace www.hsmyldk.top
  4. // @version 0.3
  5. // @description 自动播放,有文档自动点击完成,自动倍速播放(这个需要在不开脚本情况下可以倍速才可以用)
  6. // @author 浑水摸鱼ldk
  7. // @match *.zjooc.cn/ucenter/student/course/study/*
  8. // @grant none
  9. // ==/UserScript==
  10.  
  11.  
  12. var TIME = 5000; //5秒后开始脚本,主要是为了等网页加载完,打开网页第一次运行会等10秒
  13. var kaiqibeisu = 0; //这个是0则自动倍速播放,为1则关闭倍速
  14. var beisu = 0; //选项为0是4倍速,为1是2倍速,为2是1.5倍速,为3是1.25倍速,
  15. setTimeout(function() {
  16. findWord();
  17. }, TIME);
  18. //检测当前页是不是文档
  19. function findWord() {
  20. var word = document.getElementsByClassName('contain-item cleartop');
  21. //如果这一章有文档
  22. if (word.length > 0) {
  23. for (var p = 0; p < word.length; p++) {
  24. //当前页是文档
  25. if (word[p].parentElement.parentElement.style.display != 'none') {
  26. word[p].children[1].children[0].click(); //点击确定
  27. //等待5秒下一个
  28. setTimeout(function() {
  29. next();
  30. }, TIME);
  31. break;
  32. } else {
  33. //当前页是视频
  34. if (p == (word.length - 1)) {
  35. playideo();
  36. break;
  37. }
  38. }
  39. }
  40. } else {
  41. //没有文档
  42. playideo();
  43. }
  44. }
  45. //播放视频
  46. function playideo() {
  47. setTimeout(function() {
  48. var videoplyer = document.getElementById('video-show');
  49. // 没找到视频播放器
  50. if (videoplyer == null) {
  51. //重新搜寻
  52. setTimeout(() => {
  53. findWord();
  54. }, TIME);
  55. } else {
  56. //静音播放
  57. try {
  58.  
  59. videoplyer.firstChild.children[2].children[18].click();
  60. videoplyer.firstChild.children[2].children[0].click();
  61. } catch {
  62. console.log('页面没加载出来,可能是网速不好。。');
  63. }
  64. try {
  65. if (kaiqibeisu == 0)
  66. videoplyer.firstChild.children[8].children[beisu].click();
  67. } catch {
  68. console.log("倍速失败。。");
  69. }
  70. //探测视频啥时候播放完
  71. playEnded();
  72. }
  73. }, TIME)
  74. }
  75. // 下一页
  76. function next() {
  77. var nowSmile = document.getElementsByClassName('el-tabs__item is-top is-active')[1];
  78. var border = nowSmile.parentElement.children;
  79. for (var i = 0; i < border.length; i++) {
  80. if (border[i].id == nowSmile.id) {
  81. if ((i + 1) == border.length) {
  82. //播放下一大节
  83. var nowBig = document.getElementsByClassName('el-container plan-detail ucenter-student is-vertical')[0].children[0].children[1].children[1];
  84. var AllBig = document.getElementsByClassName('el-menu-item');
  85. for (var o = 3; o < AllBig.length; o++) {
  86. if (AllBig[o].children[0].textContent === nowBig.textContent) {
  87. AllBig[(o + 1)].click();
  88. setTimeout(function() {
  89. findWord();
  90. }, TIME);
  91. break;
  92. }
  93. }
  94. } else {
  95. //播放下一小节
  96. border[(i + 1)].click();
  97. setTimeout(function() {
  98. findWord();
  99. }, TIME);
  100. break;
  101. }
  102. }
  103. }
  104. }
  105. //检测是否播放完成
  106. function playEnded() {
  107. var timeBar = [0, 1, 2, 3, 4, 5, 6, 7, 8];
  108. var nowBar = 0;
  109. var play = setInterval(() => {
  110. var videoplyer = document.getElementById('video-show');
  111. if (videoplyer == null) {
  112. setTimeout(function() {
  113. findWord();
  114. }, TIME);
  115. clearInterval(play);
  116. return;
  117. }
  118. var Arr = videoplyer.firstChild.children[2].children[7].textContent.split(' / ')
  119. if (timeBar[nowBar] == Arr[0]) {
  120. clearInterval(play);
  121. playideo();
  122. return;
  123. } else {
  124. timeBar[nowBar] = Arr[0];
  125. if (nowBar < 7) {
  126. nowBar++;
  127. } else {
  128. nowBar = 0;
  129. }
  130. }
  131. if (videoplyer.firstChild.children[2].children[18].style.display != null) {
  132. videoplyer.firstChild.children[2].children[18].click();
  133. }
  134. if ((Arr[0] == Arr[1]) && (Arr[0] != "00:00")) {
  135. clearInterval(play);
  136. next();
  137. }
  138. }, 250);
  139. }

QingJ © 2025

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