Location.href बदलने पर विंडो इवेंट को कैसे ट्रैक करें?

प्रोग्रामिंग


सभी को नमस्कार। मैं एक वेबसाइट से कुछ सामग्री लाने की कोशिश कर रहा हूं, HTML पेज कई पेजों के साथ डेटा दिखाता है, प्रत्येक पेज की सामग्री में 6 × 15 div आइटम होते हैं।
इन डिव आइटम के निचले भाग में हैं पिछले पेज की तरह लिंक पेज लेबल.. पेज 1.. पेज 2.. पेज 3.. अगला पेज.., इन लेबलों की विशेषता ‘href’ अलग-अलग ‘location.href’ से लिंक होती है।
मैं इन सभी div आइटमों की जानकारी प्राप्त करने के लिए F12 कंसोल पर जावास्क्रिप्ट कोड का एक टुकड़ा लिखना चाहता हूं। मुझे यकीन नहीं है कि इसे कार्यान्वित करना संभव है।
मुझे बस इतना पता है कि बीओएम के पास एक वैश्विक ऑब्जेक्ट है, विंडो, मैं इस वैश्विक ऑब्जेक्ट की घटना को ट्रैक कर रहा हूं, प्रत्येक पेज लेबल पर क्लिक करने पर नए पेज लोड किए गए इवेंट को कैप्चर करने की उम्मीद करता हूं, फिर डिव आइटम लाने के लिए डीओएम दस्तावेज़ का उपयोग करता हूं।

मैंने क्या प्रयास किया है:

कोड कुछ इस प्रकार है:

जावास्क्रिप्ट
window.addEventListener('load', () => {
    //1.fetch div items
    //for(var item of document.querySelectorAll('div.item')) {}
    
    //2.find next page label and click
    //var next_page = document.querySelector('a.next');
    //next_page.click();
    
});

जब मैं पहले पेज लेबल पर क्लिक करता हूं, तो अपडेट होने वाले प्रत्येक पेज आइटम के लूप को ट्रिगर करने का प्रयास करता हूं, जबकि, DevTool कंसोल एक नए संदर्भ में बदल जाता है, जेएस कोड काम नहीं करता है।
चूंकि बीओएम विंडो एक वैश्विक ऑब्जेक्ट है, और मैंने कोई नई विंडो नहीं खोली है, नए पेज की सामग्री उसी विंडो पर लोड की गई है, जब मैं पेज लेबल पर क्लिक करता हूं तो नए कंटेंट पेज में विंडो ‘लोड’ इवेंट ट्रिगर क्यों नहीं होता है
जिसने स्थान बदल दिया.href ?

समाधान 1

सबसे पहले, साइट मालिकों की अनुमति के बिना यह नैतिक नहीं है, यह आपके लाभ के लिए उसके सर्वर पर दबाव डाल सकता है!

किसी साइट पर किसी तत्व पर क्लिक करने के लिए आपको उसका तत्व आईडी प्राप्त करना होगा और स्वचालित रूप से क्लिक करने के लिए उसका उपयोग करना होगा, इस मामले में पृष्ठों को लोड करने के लिए ‘ए’ तत्व। ‘ए’ तत्व आईडी ‘पेगिनेटर’ के साथ एक डिव में समाहित है, अंदर प्रत्येक तत्व का चयन करें और उस पर क्लिक करें –

जावास्क्रिप्ट
<script>
    window.addEventListener('load', function() {
        //Get all the 'a' elements inside the paginator div...
        var links = document.querySelectorAll('.paginator a');

        //Iterate through each link and trigger a click event for each...
        links.forEach(function(link) {
            link.click();
        });
    });
</script>

コメント

タイトルとURLをコピーしました