首页 > 解决方案 > javascript document.body 未定义 - 但只有 WaterFox Webrobwsers

问题描述

直到很久以前(仍然是 7 月),该脚本才完全正常运行。现在它坏了,我不明白为什么:我在基于FireFox引擎的Waterfox浏览器上使用它

脚本:

 function patrzpoczatek(str1, str2, n) {
  str1 = str1.substring(0, n);
  str2 = str2.substring(0, n);
  return str1 == str2;
}
var zatrzymaj = 0;

    function rozwijajResztePrzeszkadzajacychRzeczy() {
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        //var tab = document.getElementsByTagName("*");
        //var tab = document.getElementsByClassName("_5v47");
        var tab = document.querySelectorAll('._5v47.fss');
        var ile = 0;
        for (var i in tab) {
            if(i % 100 == 0) console.log("jestem na "+i+" pos");
            try { // omin zlosliwy link "Zobacz wiecej wydarzen"
                //if(tab[i].href == null || tab[i].href.length < 5)
                tab[i].click();
                ile++;
            } catch(err) { }
        }
        console.log("rozwijajResztePrzeszkadzajacychRzeczy: WYKONALEM "+ile+" clickow");    
        window.alert("BACKUP GOTOWY! No, prawie. Tera to se kopiuj.");
    }
    function rozwijajZobaczWiecejKomentarzy() {
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        // to tez do "Zobacz wczesniejsze komentarze"
        var tab = document.getElementsByClassName("UFIPagerLink");
        var ile = 0;
        for (var i in tab)
                try {
                   tab[i].click();
                    ile++;
                } catch(err) { }
        console.log("rozwijajZobaczWiecejKomentarzy: WYKONALEM "+ile+" clickow");
        if(ile > 0)
        {
        // rozwijaj dopoki sie da
            setTimeout(rozwijajZobaczWiecejKomentarzy, 2000);
        } 
        else
        {
            setTimeout(rozwijajResztePrzeszkadzajacychRzeczy, 1000);
        }
    }
    function rozwijajZobaczWiecej() {
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        var tab = document.getElementsByClassName("see_more_link");
        var ile = 0;
        for (var i in tab) {
                try {
                   if(tab[i].onclick != null) {
                        ile++;
                        tab[i].onclick();
                    }
                } catch(err) { }
        }
        console.log("rozwijajZobaczWiecej: WYKONALEM "+ile+" clickow");
        setTimeout(rozwijajZobaczWiecejKomentarzy, 1000);
    }
    // na poczatku trzeba w ogole otworzyc komentarze, bo sa schowane
    function otworzKomentarze() {
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        var tab = document.getElementsByClassName("UFIBlingBox");
        var ile = 0;
        for (var i in tab)
                try {
                   tab[i].click();
                    ile++;
                } catch(err) { }
        console.log("otworzKomentarze: WYKONALEM "+ile+" clickow");
        /*if(ile > 0)
        {
        // rozwijaj dopoki sie da
            setTimeout(otworzKomentarze, 2000);
        } 
        else*/
    ////    {
                setTimeout(rozwijajZobaczWiecej, 1000);
        ///}
    }
    var popWys = 0;
    function scrollowanie() {
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }

                var tab = document.querySelectorAll('._5v47.fss');
        var ile = 0;
        for (var i in tab) {
            if(i % 100 == 0) console.log("jestem na "+i+" pos");
            try { // omin zlosliwy link "Zobacz wiecej wydarzen"
                //if(tab[i].href == null || tab[i].href.length < 5)
                tab[i].click();
                ile++;
            } catch(err) { }
        }


        // to tez do "Zobacz wczesniejsze komentarze"
        var tab = document.getElementsByClassName("UFIPagerLink");
        var ile = 0;
        for (var i in tab)
        {
                try {
                   tab[i].click();
                    ile++;
                } catch(err) { 
                }
        }
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        var tab = document.getElementsByClassName("see_more_link");
        var ile = 0;
        for (var i in tab) {
                try {
                   if(tab[i].onclick != null) {
                        ile++;
                        tab[i].onclick();
                    }
                } catch(err) { }
        }
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        var tab = document.getElementsByClassName("UFIBlingBox");
        var ile = 0;
        for (var i in tab)
        {
                try {
                   tab[i].click();
                    ile++;
                } catch(err) { }
        }

        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
  // to tez do "Zobacz wczesniejsze komentarze"
  var tab = document.getElementsByClassName("UFIReplySocialSentenceLinkText UFIReplySocialSentenceVerified");
      ///  var ile = 0;
        for (var i in tab)
                try {
                   tab[i].click();
            ///        ile++;
                } catch(err) { }
       /// console.log("rozwijajNOdpowiedz: WYKONALEM "+ile+" clickow");


        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
        window.scrollTo(0,document.body.scrollHeight);
        if(popWys != document.body.scrollHeight) {
            popWys = document.body.scrollHeight;
        if(zatrzymaj!=0)
        {
            console.log("Proces zostal zabity");
            return;
        }
            setTimeout(scrollowanie, 10000); // w razie czego zwiekszyc
        } else setTimeout(otworzKomentarze, 1000);
    }
    setTimeout(scrollowanie, 10000);

现在在 WaterFox 崩溃时:

TypeError: document.body 未定义 [了解更多]

错误导致:https ://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Errors/Unexpected type

在 Chrome 上,它会打开,但是:

  1. 他没有打开一切
  2. 关门太早
  3. 几次打开后,他杀死了 Chrome 进程 - Chrome 崩溃并出现灾难性错误,一切都丢失了...... :(

有谁知道这里发生了什么变化,它不再起作用了?

我使用浏览器控制台运行脚本

标签: javascript

解决方案


推荐阅读