我已经开始为我经常做的事情编写脚本,以使我的互联网使用更顺畅(并学习javascript)。其中一项是将我的YouTube订阅框中的所有看不见的视频添加到以后的观看列表中。我在书签中写了这个:
javascript:
var x = document.getElementsByClassName("contains-addto ");
for (var k = x.length - 1; k >= 0; k--) {
if (!x[k].classList.contains("watched")) {
x[k].getElementsByClassName("addto-watch-later-button")[0].click();
}
}
它有点工作,除了它根本不添加所有未观看的。添加视频和不添加视频似乎有点随机。
是否存在某种错误?或者是否有比循环缩略图对象更好的方法?
编辑:好的,不是完全随机的。它似乎在那个(正确的)顺序中添加了最旧的两个和最新的一个。如果我重新加载订阅页面并再次按下书签,它将从底部添加下两个,最新添加第二个等等......答案 0 :(得分:0)
您需要设置超时,以便YouTube不会跳过请求:
javascript:
(function() {
let unwatchedVideos = document.querySelectorAll('.contains-addto:not(.watched)');
let i = unwatchedVideos.length;
let int = setInterval(function() {
if (--i >= 0) {
unwatchedVideos[i].querySelector('.addto-watch-later-button').click();
} else {
clearInterval(int);
}
}, 300);
})();