Comment suivre l’événement de fenêtre lorsque location.href a changé ?

la programmation


Bonjour à tous. J’essaie de récupérer du contenu sur un site Web, la page HTML affiche des données avec plusieurs pages, le contenu de chaque page contient 6 × 15 éléments div.
Au bas de ces éléments div, il y a lier les étiquettes des pages comme la page précédente..page 1..page 2.. page 3…. page suivante.. , l’attribut ‘href’ de ces étiquettes renvoie à différents ‘location.href’.
Je souhaite écrire un morceau de code javascript sur la console F12 pour récupérer toutes ces informations sur les éléments div. Je ne suis pas sûr qu’il soit possible de le faire fonctionner.
Tout ce que je sais, BOM a un objet global, une fenêtre, je suis l’événement de cet objet global, j’espère capturer le nouvel événement chargé de page lorsque je clique sur chaque étiquette de page, puis j’utilise le document DOM pour récupérer les éléments div.

Ce que j’ai essayé :

le code quelque chose comme ça :

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

Lorsque je clique sur l’étiquette de la première page, en essayant de déclencher la mise à jour de la boucle de chaque élément de page, tandis que la console DevTool semble changer dans un nouveau contexte, le code js NE fonctionne PAS.
Étant donné que la fenêtre de nomenclature est un objet global et que je n’ai pas ouvert de nouvelle fenêtre, le nouveau contenu de la page est chargé dans la même fenêtre, pourquoi l’événement “load” de la fenêtre ne s’est pas déclenché dans la nouvelle page de contenu lorsque je clique sur l’étiquette de la page
ce qui a changé le location.href ?

Solution 1

Premièrement, ce n’est pas éthique sans l’autorisation du propriétaire du site, cela pourrait ajouter de la pression sur son serveur à votre avantage !

Pour cliquer sur un élément d’un site, vous devez obtenir son identifiant d’élément et l’utiliser pour cliquer automatiquement, dans ce cas, l’élément « a » pour charger les pages. Les éléments ‘a’ sont contenus dans un div avec l’identifiant ‘paginator’, sélectionnez chaque élément à l’intérieur et cliquez dessus –

Javascript
<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をコピーしました