auto click load more

auto click load more useful button

Você precisará instalar uma extensão como Tampermonkey, Greasemonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Violentmonkey para instalar este script.

Você precisará instalar uma extensão como Tampermonkey ou Userscripts para instalar este script.

Você precisará instalar uma extensão como o Tampermonkey para instalar este script.

Você precisará instalar um gerenciador de scripts de usuário para instalar este script.

(Eu já tenho um gerenciador de scripts de usuário, me deixe instalá-lo!)

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar uma extensão como o Stylus para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

Você precisará instalar um gerenciador de estilos de usuário para instalar este estilo.

(Eu já possuo um gerenciador de estilos de usuário, me deixar fazer a instalação!)

// ==UserScript==
// @name auto click load more
// @description auto click load more useful button
// @version 1.1
// @grant none
// @include http://www.youtube.com/*
// @include https://www.youtube.com/*
// @include http://www.zhihu.com/*
// @include https://www.zhihu.com/*
// @include https://vcrypt.net/*
// @include http://www.instagram.com*
// @include https://www.instagram.com*
// @include http://www.auroravid.to/*
// @include http://www.porntube.com/videos/*
// @include http://www.85porn.net/video/*
// @include http://www.85po.com/video/*
// @include http://www.fastvideo.me/*
// @include http://www.rapidvideo.org/*
// @include http://swzz.xyz/*
// @include https://www.keeplinks.eu/*

// @include http://vcrypt.net/*

// @namespace   https://greasyfork.org/
// ==/UserScript==

var time_interval = 500; //运行间隔(毫秒)
var lo; //当前网址 *html5的历史前进后退功能导致页面载入不刷新,例如Y2B,要不断检测页面对应的按钮
var dis = 4000; //load_more按钮距离底边距离像素

var autotimer = setInterval(auto,time_interval);

var sites = [
    {
    "urls":[
       /https?:\/\/www.rapidvideo.org/],
    "btns":[{
    "id":"#proceed_to.button.green",
    "distance":0}]
    },
     {
    "urls":[
       /https?:\/\/vcrypt.net/],
    "btns":[{
    "id":"input.btncontinue",
    "distance":0}]
    },
     {
    "urls":[
       /https?:\/\/www.keeplinks.eu/],
    "btns":[{
    "id":"a#btnsubmit",
    "distance":0}]
    },
    {
    "urls":[
       /https?:\/\/www.auroravid.to/],
    "btns":[{
    "id":"Continue to the video",
    "distance":0}]
    },
      {
    "urls":[
       /https?:\/\/swzz.xyz/],
    "btns":[{
    "id":"a.btn-wrapper",
    "distance":0}]
    },
    {
    "urls":[
       /https?:\/\/www.auroravid.to/],
    "btns":[{
    "id":"Continue to the video",
    "distance":0}]
    },
{
    "urls":[
       /https?:\/\/www.fastvideo.me/],
    "btns":[{
    "id":"#btn_download.button.green",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/www.youtube.com\/user\/.+/gi,
        /https?:\/\/www.youtube.com\/channel\/.+/gi],
    "btns":[{
    "id":".load-more-text",
    "distance":0}]
    }, //youtube_user_page
    {
    "urls":[
        /https?:\/\/www.youtube.com\/watch\?.+/gi,
        /https?:\/\/www.youtube.com\/watch2\?.+/gi],
    "btns":[{
    "id":"[data-uix-load-more-target-id=comment-section-renderer-items]",
    "distance":0},
    {
    "id":"#watch-more-related-button",
    "distance":0}]
    }, //youtube_watch_page
    {
    "urls":[
        /https?:\/\/www.zhihu.com\/question\/.+/gi,
        /https?:\/\/www.zhihu.com\/people\/.+/gi,
        /https?:\/\/www.zhihu.com\/search\?.+/gi],
    "btns":[{
    "id":"[aria-role=button]",
    "distance":0}]
    }, //zhihu_question
    {
    "urls":[
        /https?:\/\/[a-z]+.pornhub.com\/view_video.php\?viewkey=.+/gi,
        /https?:\/\/[a-z]+.pornhubpremium.com\/view_video.php\?viewkey=.+/gi],
    "btns":[{
    "id":"a.greyButton.light.more_related_btn.nav-related",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/www.porntube.com\/videos\/.+/gi],
    "btns":[{
    "id":"button.btn.btn-simple.btn-large.load-more-videos",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/www.85porn.net\/video\/.+/gi,
        /https?:\/\/www.85po.com\/video\/.+/gi],
    "btns":[{
    "id":"a[id^=\"next_related_videos\"]",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/[a-z]+.pornhub.com\/feeds/gi,
        /https?:\/\/[a-z]+.pornhubpremium.com\/feeds/gi,
        /https?:\/\/[a-z]+.pornhub.com\/users/gi,
        /https?:\/\/[a-z]+.pornhubpremium.com\/users/gi],
    "btns":[{
    "id":"#moreDataBtn",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/www.instagram.com\/?.+/gi],
    "btns":[{
    "id":"a._oidfu",
    "distance":0}]
    },
    {
    "urls":[
        /https?:\/\/www.youtube.com\/channel777\/.+/gi,
        /https?:\/\/www.youtube.com\/channel999\/.+/gi],
    "btns":[{
    "id":"bt3",
    "distance":0},
    {
    "id":"bt4",
    "distance":0}]
    } // example
]

function auto()
{
    try
    {
        lo = window.location; //当前网址
        for ( x in sites )
        {
            for ( u in sites[x].urls )
            {
                //sites[x].urls[u].test(lo) 为什么连续2次,第2次就变成false呢
                //console.log("reg | "+sites[x].urls[u] +" url | "+lo + " | "+sites[x].urls[u].test(lo));
                //console.log("1_ "+sites[x].urls[u] + "2_ "+sites[x].urls[u].test(lo));
                if(sites[x].urls[u].test(lo))
                {
                    //console.log("bbb");
                    for ( b in sites[x].btns )
                    {
                        try
                        {
                            //console.log(sites[x].btns[b].distance+"|"+lo+"|"+sites[x].urls[u])
                            //console.log(sites[x].btns[b].id)
                            if(document.querySelector(sites[x].btns[b].id))
                            {
                                //console.log("|"+sites[x].btns[b].id);

                                if(tob(document.querySelector(sites[x].btns[b].id))<dis && document.querySelector(sites[x].btns[b].id).getBoundingClientRect().top != sites[x].btns[b].distance)
                                {
                                    sites[x].btns[b].distance = document.querySelector(sites[x].btns[b].id).getBoundingClientRect().top;
                                    document.querySelector(sites[x].btns[b].id).click();
                                    console.log("auto_click_load_more_1_times");
                                }
                            }
                        }catch(e){console.log(e)}
                    }
                }
            }

        }
    }catch(e)
    {
        console.log("error"+e);
    }
}

function tob(x) //返回元素上边到浏览器窗口底边距离,正值表示元素上边在浏览器底边以下的距离,负值表示元素在浏览器底边以上
{
    var bh = document.documentElement.clientHeight;//浏览器可视高
    var ett = x.getBoundingClientRect().top;//元素距离浏览器上边高
    return ett - bh;
}