weijie 发表于 2024-10-24 15:58:01

网课如何自动点击下一课


setTimeout(()=>{
       var btn = document.querySelector(".next span");
       btn.click();
    },5000);

使用以上代码实现自动点击下一课,
在油猴插件中网课平台视频播放完后,会不停一直模拟点击下一课,在浏览器手动输入又不会。



请问大佬哥哥们如何限制只执行一次。

李恒道 发表于 2024-10-24 16:08:58

因为跳到下一节之后会刷新页面
然后继续触发脚本执行
这种情况可以考虑加一些判断条件,比如setinerval循环判断视频播放是否结束
如果结束就跳转之类的

weijie 发表于 2024-10-24 16:37:08

李恒道 发表于 2024-10-24 16:08
因为跳到下一节之后会刷新页面
然后继续触发脚本执行
这种情况可以考虑加一些判断条件,比如setinerval循环 ...

你好! 首先感谢您的回复{:4_97:}

在加了判断之后,执行自动点击下一课感觉像是乱跳,比如第一课完后可能直接跳到第五课,浏览器执行测试也是正常的,请问这种情况是什么原因呢?

weijie 发表于 2024-10-24 16:38:01

weijie 发表于 2024-10-24 16:37
你好! 首先感谢您的回复

在加了判断之后,执行自动点击下一课感觉像是乱跳,比如第一课完后可能直接跳 ...

var video = document.querySelector('video#vjs_video_3_html5_api');
    video.addEventListener('ended', function() {
      console.log('Video ended');
      // 在视频播放结束猴延迟5s执行下一课
      setTimeout(()=>{
       var btn = document.querySelector(".replay .next span");
       btn.click();
    },5000);

xxdoc 发表于 2024-10-24 16:41:22

直接用网页跳转。可行否?

weijie 发表于 2024-10-24 16:44:08

xxdoc 发表于 2024-10-24 16:41
直接用网页跳转。可行否?

网址没变 每一节课都是同一个地址

李恒道 发表于 2024-10-24 16:45:53

weijie 发表于 2024-10-24 16:37
你好! 首先感谢您的回复

在加了判断之后,执行自动点击下一课感觉像是乱跳,比如第一课完后可能直接跳 ...

这个只能上个debugger测试看看
一般来说可能dom的查询条件写的不够全面

weijie 发表于 2024-10-24 16:56:12

李恒道 发表于 2024-10-24 16:45
这个只能上个debugger测试看看
一般来说可能dom的查询条件写的不够全面

好的 谢谢您

repisal 发表于 2024-10-25 10:45:12

是不是是上完这一课后回调的函数中有自动跳转的功能?然后就冲突了。
页: [1]
查看完整版本: 网课如何自动点击下一课