Mise à jour pour Chrome 63, Janvier 2018
je réussi à les exporter en JSON comme ceci:
- détachons un inspecteur actif (si nécessaire)
- commencer un inspecteur de l'inspecteur avec ctrl-shift-j/cmd-opt-j
- collez le code suivant dans cette instance d'inspecteur.
À ce stade, vous pouvez faire ce que vous voulez avec les cadres. J'ai utilisé l'utilitaire console.save
de https://bgrins.github.io/devtools-snippets/#console-save pour enregistrer les images en tant que fichier JSON (inclus dans l'extrait ci-dessous).
// https://bgrins.github.io/devtools-snippets/#console-save
(function(console){
console.save = function(data, filename){
if(!data) {
console.error('Console.save: No data')
return;
}
if(!filename) filename = 'console.json'
if(typeof data === "object"){
data = JSON.stringify(data, undefined, 4)
}
var blob = new Blob([data], {type: 'text/json'}),
e = document.createEvent('MouseEvents'),
a = document.createElement('a')
a.download = filename
a.href = window.URL.createObjectURL(blob)
a.dataset.downloadurl = ['text/json', a.download, a.href].join(':')
e.initMouseEvent('click', true, false, window, 0, 0, 0, 0, 0, false, false, false, false, 0, null)
a.dispatchEvent(e)
}
})(console)
// Frame/Socket message counter + filename
var iter = 0;
// This replaces the browser's `webSocketFrameReceived` code with the original code
// and adds two lines, one to save the socket message and one to increment the counter.
SDK.NetworkDispatcher.prototype.webSocketFrameReceived = function (requestId, time, response) {
var networkRequest = this._inflightRequestsById[requestId];
if (!networkRequest) return;
console.save(JSON.parse(response.payloadData), iter + ".json")
iter++;
networkRequest.addFrame(response, time, false);
networkRequest.responseReceivedTime = time;
this._updateNetworkRequest(networkRequest);
}
Ceci enregistre toutes les images de socket entrantes dans votre emplacement de téléchargement par défaut.
Je reçois un SDK non défini lors de l'utilisation de votre code. Des conseils sur la façon de le faire fonctionner? – viksit
Résolu ceci. Pour ceux qui y sont confrontés plus tard - une fois le nouvel inspecteur-inspecteur défini, vous devez taper le code dans la nouvelle fenêtre, mais toutes vos autres activités WS seront sorties/enregistrées dans la fenêtre d'origine de la console/du navigateur. – viksit