有一个视频教学的网站,我必须看完,而且视频不会自动播放下一个防止你不看,写个脚本让它自动播放下一个。
因为你不知道具体是哪个网站,这个脚本对你没啥用,仅供参考。
代码的逻辑是,首先试着点下一视频,如果不能点,再点播放列表。跳转后,获取视频的总时间,设置定时器定时翻页。
代码如下。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45
| function next() { const selector_banner = '.sm-hc-list > ul > li[class$="active"] + li > a'; const selector_list = 'dd[class$="active"] + dd > span'; const ele_banner = document.querySelector(selector_banner); if (ele_banner === null) { const ele_dd = document.querySelector(selector_list); if (ele_dd !== null) { ele_dd.click(); setTimeout( function () { const sec = get_duration(); if (sec !== -1) setTimeout('next()', sec * 1000); }, 60 * 1000); } } else { ele_banner.click(); setTimeout( function () { const sec = get_duration(); if (sec !== -1) setTimeout('next()', sec * 1000); }, 60 * 1000); } }
function get_duration() { const selector_display = 'div.vjs-duration-display'; const ele_duration = document.querySelector(selector_display);
if (ele_duration !== null) { const str_time = ele_duration.textContent.substring(3); const arr_time = str_time.split(":"); let sec = 0; for (let i = arr_time.length - 1, t = 1; i >= 0; i--, t *= 60) { sec += arr_time[i] * t; } return sec; } return -1; }
(function () { var s = get_duration(); if (s !== -1) setTimeout('next()', s * 1000); } ());
|
本文标题:自动播放下一视频的脚本
文章作者:Chris
发布时间:2017-08-13
最后更新:2022-03-23
原始链接:https://chriszheng.science/2017/08/13/A-script-that-plays-next-video/
版权声明:本博客所有文章除特别声明外,均采用 CC BY 4.0 许可协议。转载请注明出处!