好医生刷课脚本

用于 好医生 的辅助看课,检查到视频播放结束后,播放下一节未学习或者学习中的视频

// ==UserScript==
// @name         好医生刷课脚本
// @namespace    https://www.tuziang.com/jxjydx.html
// @version      2.2
// @description  用于 好医生 的辅助看课,检查到视频播放结束后,播放下一节未学习或者学习中的视频
// @author       Tuziang
// @match        *://*.cmechina.net/*
// @grant        none
// @license      MIT
// ==/UserScript==

(function () {
  setTimeout(function () {
    // 获取所有 video 元素
    const videos = document.querySelectorAll('video');

    // 监听所有 video 元素的 ended 事件
    videos.forEach(function (video) {
      video.addEventListener('ended', function () {
        // 视频播放结束后执行 nextVideo 方法
        nextVideo();
        console.log("nextVideo");
      });

      if (video.paused) {
        video.play()
      }
    });
  }, 3000);

  function nextVideo() {
    // 获取所有右侧未学习或者学习中的小节
    const listItems = document.querySelectorAll('ul.s_r_ml li');
    // 遍历查找符合条件的小节
    for (let i = 0; i < listItems.length; i++) {
      const item = listItems[i];
      if (item && (item.innerText.indexOf("学习中") !== -1 || item.innerText.indexOf("未学习") !== -1)) {
        // 模拟点击操作
        const link = listItems[i].querySelector('a');
        if (link) {
          link.click();
          break;
        }
      }
    }
  }
})();