Youtube手表后来看不见(javascript)

时间:2013-11-04 09:54:06

标签: javascript youtube

我已经开始为我经常做的事情编写脚本,以使我的互联网使用更顺畅(并学习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();
    }
}

它有点工作,除了它根本不添加所有未观看的。添加视频和不添加视频似乎有点随机。

是否存在某种错误?或者是否有比循环缩略图对象更好的方法?

编辑:好的,不是完全随机的。它似乎在那个(正确的)顺序中添加了最旧的两个和最新的一个。如果我重新加载订阅页面并再次按下书签,它将从底部添加下两个,最新添加第二个等等......

1 个答案:

答案 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);
  })();

相关问题