Die Registerkarte Chrome Dev Tools-Netzwerk verfügt über eine Initiatorspalte, die Ihnen genau anzeigt, welcher Code die Netzwerkanforderung initiiert hat.Programmgesteuertes Abrufen des Webanforderungsinitiators
Ich mag würde in der Lage sein Netzwerk Anfrage Initiator Informationen programmatisch zu bekommen, so konnte ich ein Skript mit einem url
und request search string
Argumente, und es gibt Informationen darüber, wo jede Anforderung mit einer URL-Zuordnung ausführen request search string
kam von auf der Seite bei url
. Also angesichts der Argumente www.stackoverflow.com
und google
die Ausgabe könnte wie folgt aussehen (zeigt URL anfordern, Zeilennummer und URL angefordert):
/ 19 http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js
/ 4291 http://www.google-analytics.com/analytics.js
ich in PhantomJS sah, aber seine onResourceRequested
Rückruf bietet keinen Initiator Informationen oder Kontext, aus dem es abgeleitet werden kann, gemäß der Dokumentation: http://phantomjs.org/api/webpage/handler/on-resource-requested.html
Ist es möglich, mit PhantomJS überhaupt zu tun, oder ein anderes Werkzeug oder eine Dienstleistung wie Selen?
UPDATE
Aus den Kommentaren und Antworten so weit es scheint, als ob dies derzeit nicht von Phantom, Selen oder irgendetwas anderes unterstützt. Hier ist ein alternativer Ansatz, der funktionieren könnte: Laden Sie die Seite und alle Assets, und suchen Sie dann alle Vorkommen von request search string
in allen Dateien. Wie könnte ich das tun?
Etwas verwandt: http://stackoverflow.com/questions/17650466/how-to-retrieve-the-initiator-of-a-request-when- Erweiterung-chrome-devtool. Ich bezweifle, dass Sie die Initiatoren mit Selen erreichen können, da zum einen die Chrome-Debugger und die Chrome-Entwickler-Tools Chrome-Debugger sind und nicht gleichzeitig laufen können: https://sites.google.com/a/chromium.org/chromedriver/ help/devtools-window-keeps-closing .. – alecxe
'window.performance.getEntries()' hat den ['initiatorType'] (https://w3c.github.io/resource-timing/#widl-PerformanceResourceTiming-initiatorType) für jeden Eintrag, aber nicht mehr als das und es ist nicht genau das, was Sie suchen. – alecxe