Si vous avez une action de clic en boucle dans le workflow, par défaut, Octoparse ouvrira chaque lien individuel dans un nouvel onglet. Ainsi, bien qu'il clique sur chaque lien de la liste, il ne perdra jamais l'onglet contenant la page de la liste. Cependant, il existe des cas particuliers où la nouvelle page ne peut être chargée directement que dans l'onglet actuel. Dans ce cas, Octoparse ne pourra pas charger le deuxième élément de la liste, car il ne pourra plus accéder à la page de liste d'origine. Cela entraînera une action de clic en boucle qui ne clique que sur le premier élément de la boucle sans passer aux autres éléments de la liste.
Comment savoir si ma boucle fonctionne ou non ?
Vous pouvez vérifier si l'élément de la boucle fonctionne correctement en cliquant manuellement sur les actions dans le workflow.
Cliquez sur Élément de la boucle après le chargement de la page de liste.
Cliquez sur Cliquez sur l'élément et attendez que la nouvelle page se charge.
Cliquez à nouveau sur Élément de la boucle pour voir si Octoparse affiche la page de liste.
Si vous pouvez voir la page de la liste, cela signifie qu'Octoparse est capable de revenir à la page de liste et que la boucle devrait fonctionner correctement. Sinon, vous devrez modifier le workflow pour que cela fonctionne. Voici quelques solutions rapides que vous pouvez essayer vous-même.
1. Ouvrir la page de détails dans un nouvel onglet.
Pour les sites web qui supportent l'ouverture des liens dans un nouvel onglet, allez dans les paramètres de l'action Cliquez sur l'élément (qui ouvre la nouvelle page). Vérifiez si l'option "Ouvrir dans un nouvel onglet" est cochée. Si ce n'est pas le cas, cocher cette option devrait résoudre le problème.
2. Ajouter un bouton de Retour
Si l'élément de boucle ne fonctionne toujours pas correctement, même après avoir sélectionné "Ouvrir dans un nouvel onglet", il est probable que les nouvelles pages ne peuvent pas être chargées dans un nouvel onglet.
Dans ce cas, la nouvelle page remplacera la page de liste lorsqu'elle se charge, ce qui empêche Octoparse de revenir à la page de liste.
Pour résoudre ce problème, cherchez un bouton qui vous ramène à la page de liste. Dans l'exemple ci-dessous, ce serait le bouton Société financière non banquière. S'il y a un bouton comme celui-ci, configurez une action de clic en utilisant le bouton Société financière non banquière. Ainsi, lorsque Octoparse aura terminé de récupérer les données sur la nouvelle page, il cliquera sur le bouton pour revenir à la liste originale et continuer à parcourir les autres éléments de la liste.
Cliquez sur le bouton Société financière non banquière.
Choisissez Cliquez sur l'URL ou Cliquez sur l'élément dans le panneau des conseils.
Ajustez le délai d'attente AJAX pour qu'il soit suffisamment long pour que la page se charge.
Le workflow devrait être comme suit :
3. Ajouter une action "Aller à la page Web"
Même lorsque l'option Ouvrir dans un nouvel onglet est sélectionnée et qu'aucun bouton Retour n'est disponible, il existe encore une autre astuce à essayer : ajouter manuellement une action Aller à la page Web pour aider Octoparse à revenir à la page de liste d'origine.
Survolez le workflow et ajoutez une étape Ouvrir la page comme dernière étape dans l'élément de boucle. Cette action rouvrira la page de liste chaque fois qu'Octoparse aura terminé de récupérer les données de la page de l'élément actuel. Cependant, cette astuce peut ne pas fonctionner correctement si vous scrapez une liste qui s'étend sur plusieurs pages.
Ajoutez une action "Aller à la page Web" dans le workflow.
Copiez et collez l'URL de la page de liste.
4. Ajouter une action Retour à la page précédente
Si, par hasard, les méthodes décrites ci-dessus ne semblent pas donner de bons résultats, vous pouvez envisager d'ajouter l'option Retourner à la page précédente.
Il vous suffit de cliquer sur l'icône + et d'ajouter Retourner à la page précédente comme dernière étape dans l'élément de boucle. Cette fonctionnalité permettra à votre tâche de revenir facilement à la page de liste d'origine et d'accéder aux autres éléments de la liste.
5. Diviser la tâche en deux tâches
Dernière solution, quelle que soit la longueur de votre liste ou la raison pour laquelle la page ne se charge pas dans un nouvel onglet, vous pouvez toujours essayer de diviser la tâche en deux : une première qui récupère les URLs intégrées dans les éléments de la liste, et une deuxième tâche configurée pour extraire des informations spécifiques de chacune de ces URLs. C'est une astuce très efficace, car non seulement elle est fiable, mais elle rend le processus de scraping beaucoup plus efficace en évitant les allers-retours entre les onglets.
Pour automatiser davantage le processus de scraping, vous pouvez même associer les tâches pour qu'elles s'exécutent ensemble en utilisant la fonctionnalité : importer des URLs depuis une autre tâche.