我想点击"显示更多" Youtube用户页面上的按钮使用Tampermonkey.Also已经在网站上进行过研究,但没有找到令人满意的答案。
按钮的HTML:
<button class="yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more browse-items-load-more-button" type="button" onclick=";return false;" aria-label="Carregar mais
" data-uix-load-more-href="/browse_ajax?action_continuation=1&continuation=4qmFsgJAEhhVQ2UwSXlLNG50Z2RQVFRqc3hqdnlIUGcaJEVnWjJhV1JsYjNNZ0FEZ0JZQUZxQUhvQk1yZ0JBQSUzRCUzRA%253D%253D" data-uix-load-more-target-id="channels-browse-content-grid"><span class="yt-uix-button-content"> <span class="load-more-loading hid">
<span class="yt-spinner">
<span title="Carregando ícone" class="yt-spinner-img yt-sprite"></span>
Carregando...
</span>
</span>
<span class="load-more-text">
Carregar mais
</span>
</span></button>
我首先尝试了这段代码:
// ==UserScript==
// @name YouTube
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.youtube.com/user/*/videos
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
// ==/UserScript==
$(document).ready(
$(function(){
document.getElementsByClassName("yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more browse-items-load-more-button")[0].click();
});
);
我也试过这个:
// ==UserScript==
// @name YouTube
// @namespace http://tampermonkey.net/
// @version 0.1
// @description try to take over the world!
// @author You
// @match https://www.youtube.com/user/*/videos
// @grant none
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.2.2/jquery.min.js
// ==/UserScript==
$(document).ready(
setTimeout(function() {
document.querySelector('#yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more browse-items-load-more-button').click()
}, 1000)
但这两个代码似乎根本不起作用。有人能给我解释如何解决这个问题吗?我必须把什么代码放在那里?我对JS一无所知。
答案 0 :(得分:0)
自2018年2月20日起,您与(https://www.youtube.com/user/*/videos
)匹配的网址实际上会返回依赖无限滚动的HTML网页。没有&#34;显示更多&#34;你提到的HTML按钮。这意味着:
document.querySelector('#yt-uix-button yt-uix-button-size-default yt-uix-button-default load-more-button yt-uix-load-more browse-items-load-more-button');
将返回null
,当您执行.click()
时,您将获得TypeError。显然,不是你想要的。
如果您想要&#34;显示更多&#34;使用Javascript在页面上显示视频,您必须这样做:
document.querySelector("yt-next-continuation").trigger();