雨课堂课件快速自动刷完

背景

有时候老师让我们在雨课堂里刷完这个课件。这个课件呢有时候它有三百多页,每一页需要停留3秒左右才可以算看过课件,你如果一页一页的去点的话非常的折磨人。因为课件太多页了,我就不想手动刷,于是我就自己琢磨去写了一个脚本。然后这个脚本就能帮助我快速的刷完这个课件,效率很快。【几百上千页谁能受得了】
在这里插入图片描述

f12检查 查看源代码

在这里插入图片描述

<div class="swiper-no-swiping swiper-slide" style="margin-bottom: 10px">
  <div class="container">
    <span class="page">4</span>
    <div class="thumbImg-container">
      <img
        src="https://changjiang-public-qn.yuketang.cn/public/8396857/cover4_20220329172822.jpg"
        alt="ppt"
        style="width: 100%"
      />
      <div
        alt="占位"
        class="room"
        style="height: 105px; width: 140px; display: none"
      ></div>
    </div>
    <span class="flag noRead">未读</span>
  </div>
</div>

当这个页面停留3s后, <span class="flag noRead">未读</span>会变成<span class="flag">未读</span> (但不能手动移除noRead)

脚本

async function clickPagesSequentially(pages) {
  for (const page of pages) {
    const container = page.closest(".container");
    const flagElement = container.querySelector(".flag");
    if (flagElement && flagElement.classList.contains("noRead")) {
      await new Promise((resolve) => {
        const observer = new MutationObserver((mutations, observer) => {
          if (!flagElement.classList.contains("noRead")) {
            resolve();
            observer.disconnect();
          }
        });
        observer.observe(flagElement, {
          attributes: true,
          attributeFilter: ["class"],
        });
        page.click();
      });
    }
  }
}

const pages = document.querySelectorAll(".page");
clickPagesSequentially(pages);

脚本使用方法

第一步:
在这里插入图片描述

第二步:
在这里插入图片描述

总结

这样就可以快速刷完这个课件了。这个脚本优点:
①:你中间某些课件已经看过,它可以快速跳过
②:没使用定时器,只要这个页面看完了会触发 <span class="flag noRead">未读</span>这个元素的class变化,这样相对定时器更灵活


❤觉得有用的可以留个关注❤

相关推荐

  1. LeetCode 题总结 【未待续】

    2024-06-05 21:38:04       64 阅读
  2. 如何用GPT快速论文?

    2024-06-05 21:38:04       57 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-06-05 21:38:04       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-06-05 21:38:04       101 阅读
  3. 在Django里面运行非项目文件

    2024-06-05 21:38:04       82 阅读
  4. Python语言-面向对象

    2024-06-05 21:38:04       91 阅读

热门阅读

  1. JVM面试篇(下)

    2024-06-05 21:38:04       29 阅读
  2. Linux `free` 命令:深入解析系统内存使用情况**

    2024-06-05 21:38:04       37 阅读
  3. C#调用word组件转pdf,遇到视图保护解决方法

    2024-06-05 21:38:04       28 阅读
  4. HTML (总结黑马的)

    2024-06-05 21:38:04       37 阅读
  5. Oracle 数据库 varchar2 从 4000 扩展到 32k

    2024-06-05 21:38:04       31 阅读
  6. docker-compose部署RocketMq

    2024-06-05 21:38:04       29 阅读
  7. Python Word变量:深入探索与实际应用

    2024-06-05 21:38:04       32 阅读
  8. go-gin中session实现redis前缀和db库选择+单点登录

    2024-06-05 21:38:04       25 阅读
  9. win10换ubuntu

    2024-06-05 21:38:04       31 阅读