Chrome Dev Tools: comment tracer le réseau pour un lien qui ouvre un nouvel onglet?

236

Je souhaite suivre l'activité réseau qui se produit lorsque je clique sur un lien. Le problème est que le lien ouvre un nouvel onglet, et apparemment les outils de développement fonctionnent par onglet pour lequel il était ouvert. "Conserver le journal lors de la navigation" n'aide pas.

Ma solution actuelle est de passer à FireFox et HttpFox qui n'a pas ce problème. Je me demande comment tous les développeurs de Chrome gèrent, cela semble assez basique (bien sûr, j'ai cherché la réponse, je n'ai rien trouvé d'utile).

davka
la source
Étant donné que cette question reçoit beaucoup d'attention, j'ai commencé à me demander si je pouvais fournir une meilleure solution. Faire tous les liens pour les ouvrir dans le même onglet ferait-il l'affaire?
Konrad Dzwinel
@KonradDzwinel C'était une tâche ponctuelle pour moi et j'ai continué donc je ne peux pas vous le dire. Si vous voulez essayer d'écrire une réponse, je serai heureux de l'accepter.
davka
1
Si vous le souhaitez en tant que fonctionnalité, n'hésitez pas à lancer
phsource

Réponses:

220

Consultez chrome://net-internals/#events(ou chrome://net-exportdans la dernière version de Chrome) pour un aperçu détaillé de tous les événements du réseau qui se produisent dans votre navigateur.


Une autre solution possible, en fonction de votre problème spécifique, peut être d'activer «Conserver le journal» sur l'onglet «Réseau»:

DevTools> Réseau> Conserver le journal

et forcer tous les liens à s'ouvrir dans le même onglet en exécutant le code suivant dans la console:

[].forEach.call(document.querySelectorAll('a'),
    function(link){
        if(link.attributes.target) {
            link.attributes.target.value = '_self';
        }
    });

window.open = function(url) {
    location.href = url;
};
Konrad Dzwinel
la source
13
merci c'est cool, mais je veux la liste comme dans les outils de développement (requêtes et réponses avec tous les en-têtes), juste pour un autre onglet
davka
C'est très intéressant surtout si vous annoncez le filtre type:URL_REQUEST, mais il ne semble pas contenir les mêmes informations que l'onglet Réseau. Par exemple, il semble supprimer les données des cookies pour les demandes et les réponses.
Patrick M
3
document.querySelectorAll('a,form')affecterait également les formulaires.
jgb
1
J'aimerais pouvoir voter deux fois. J'ai créé un script de contenu pour Chrome qui le fait sur un raccourci clavier, et cela m'a littéralement sauvé des heures de ma vie.
polkovnikov.ph
1
Chrome affiche "L'afficheur d'événements net-internals et les fonctionnalités associées ont été supprimés. Veuillez utiliser chrome: // net-export pour enregistrer les netlogs et la catapulte externe netlog_viewer pour les afficher." , mais chrome: // net-export fonctionne à merveille.
Jordan
109

La demande de fonctionnalité mentionnée dans le commentaire de phsource a été implémentée.

Dans les versions récentes (à partir de Chrome 50), vous pouvez aller dans le menu Paramètres des outils pour les développeurs (ouvrez les outils pour les développeurs, puis utilisez le menu à 3 points ou appuyez sur F1) et cochez la case qui indique "Ouverture automatique des DevTools pour les popups".


la source
13
Fonctionne très bien, sauf qu'il est un peu difficile d'activer "Conserver les journaux" immédiatement une fois la fenêtre ouverte.
Erwin Mayer
Vous devriez mettre à jour votre réponse, car la version stable de Chrome est actuellement 55
Lulu
5
Soupir, la nouvelle fenêtre n'a cependant pas <Conserver les journaux> activée. Quel est le problème avec les ingénieurs Chrome?
Pacerier
Utilisez-le en combinaison avec stackoverflow.com/a/29029881/145400 (une excellente réponse à "Chrome Dev Tools est-il possible de rester ouvert même après la fermeture de la fenêtre?")!
Dr Jan-Philip Gehrcke
utilisez le menu à 3 points ou cliquez sur> page des préférences> DevTools> "Ouverture automatique des DevTools pour les popups"
holly
27

Dans Chrome 61.0.3163.100, vous disposez désormais de l'option suivante. Il est accessible en accédant aux paramètres des outils de développement Chrome. C'est en bas.

Paramètres de l'inspecteur Web

Konrad Piascik
la source
3
Cela n'active malheureusement pas "Conserver les journaux" dans la fenêtre nouvellement ouverte, donc si vous obtenez une nouvelle fenêtre et une redirection dans ladite fenêtre, le journal réseau sera effacé et commencera après la redirection.
2018
4
Le paramètre, pour ceux qui ne veulent pas cliquer sur le lien pour voir l'image, est "Ouverture automatique des DevTools pour les popups", sous le titre "DevTools". Autres paramètres disponibles: "Conserver le journal", sous "Réseau"; "Conserver le journal lors de la navigation" sous "Console".
hlongmore
2
Cela fonctionne pour moi (Chrome 76), et il est l' activation « Preserve Logs » quand il lance les tools.This développeurs fenêtres pop - up de peuvent être activés par moi ayant le Preserve Log réglage activé?
Vince Bowdren
11
  • Ajouter / mettre à jour le lien vers target="_self"
  • Cochez "Conserver les journaux lors de la navigation" dans l'onglet Réseau.
  • Cliquez sur le lien et enregistrez votre demande
Sébastien Lorber
la source
10

Vous pouvez le faire de cette façon:

  1. définissez target = "any_window_name" sur le lien voulu.
  2. cliquez une fois sur ce lien pour l'ouvrir dans un nouvel onglet.
  3. Dans l'onglet ouvert, ouvrez les outils de développement.
  4. revenir à la page d'origine et cliquer à nouveau sur ce lien.

    Le résultat sera chargé dans une fenêtre déjà préparée avec les outils de développement ouverts.

    Vous pouvez activer l'option "conserver le journal" dans les outils de développement (voir dans Konrad Dzwinel excellente réponse) pour attraper tout trafic de redirection sur ce lien.

    Remarque : la plupart des gens connaissent la cible du lien ∈ {_self, _blank, _parent, _top}. Mais en fait, n'importe quel nom peut être donné, cela ouvrira une nouvelle fenêtre avec ce nom, et tous les clics ultérieurs sur les liens, les formulaires ou window.open avec la même valeur cible seront ouverts dans la même fenêtre. lectures supplémentaires - mdn: window.open , mdn: <a> tag

Michael L.
la source
Merci beaucoup pour cette astuce, je n'y aurais jamais pensé. Exactement ce dont j'avais besoin. Fonctionne sur plusieurs fenêtres (au moins dans Chrome), si quelqu'un qui lit ceci veut voir comment deux pages se comportent en même temps.
Mark Ormesher
3

Dans le cas où le lien ouvert ne redirige pas, vous pouvez ouvrir l'onglet Réseau dans le nouvel onglet puis actualiser l'onglet.

orgades
la source
0

* Avertissement: Publié par le développeur de HttpWatch *

HttpWatch sur Windows peut enregistrer le trafic réseau généré lorsqu'un nouvel onglet ou une nouvelle fenêtre Chrome est ouvert en activant l'enregistrement automatique dans Outils-> Options-> Enregistrement. Dans la nouvelle fenêtre, cliquez sur l'icône HttpWatch pour afficher la trace réseau.

La version gratuite fournira des informations de base telles que l'URL, le code d'état et le temps écoulé pour chaque demande.

* Avertissement: Publié par le développeur de HttpWatch *

HttpWatchSupport
la source