it-swarm.com.de

Chrome-Entwicklerwerkzeug: Gibt es eine Möglichkeit, jeden Aufruf, der eine Zeichenfolge mit Regex enthält, auszuschließen?

leider funktioniert der negative Netzwerkfilter in den letzten Versionen von Chrome nicht mehr ... Ich habe diesen Filter verwendet, um jeden http-Aufruf auszuschließen, der eine bestimmte Zeichenfolge enthält. Ich habe eine Lösung im Chrome Dev Tool Forum gefragt, aber im Moment hat niemand geantwortet.

Daher würde ich gerne wissen, ob es eine Möglichkeit gibt, dieses Problem zu lösen (und beispielsweise jeden Aufruf, der die Zeichenfolge 'loadMess' enthält) mit Regex-Syntax auszuschließen.

Danke vielmals

36
suikoy

Update (2018):

Dies ist ein Update meiner alten Antwort, um zu verdeutlichen, dass beide Bugs seit einiger Zeit behoben wurden.

  1. Das Negieren oder Ausschließen der Filterung funktioniert jetzt wie erwartet. Das heißt, Sie können die Anforderungspfade mit my.com/path (passende Anfragen anzeigen) oder -my.com/path (nicht übereinstimmende Anfragen anzeigen) filtern. 

  2. Die Regex-Lösung funktioniert auch, nachdem mein PR-Fix in Produktion gegangen ist. Das heißt, Sie können auch mit /my.com.path/ und /^((?!my.com/path).)*$/ filtern, wodurch dasselbe Ergebnis erzielt wird. 

Ich habe die alte Antwort hier als Referenz gelassen und sie erklärt auch die negative Lookup-Lösung.


Die vordefinierten Negativfilter funktionieren zwar, derzeit können Sie jedoch nicht NOT-Filter für die Namen in Chrome stable ausführen, nur CONTAINS. Dies ist ein Fehler der in Chrome Canary behoben wurde. 

Nachdem die Änderung auf Chrome stable verschoben wurde, sollten Sie in der Lage sein, loadMess nur für diesen Namen zu filtern und -loadMess, um diesen Namen herauszufiltern und den Rest wie zuvor zu belassen.

 Negative Filter

Problemumgehung: Regex zum Abgleichen einer Zeichenfolge, die keine Zeichenfolge enthält

^((?!YOUR_STRING).)*$

Beispiel:

^((?!loadMess).)*$

Erläuterung:

  • ^ - Beginn der Zeichenfolge

  • (?!loadMess) - Negativer Lookahead (an diesem Cursor stimmen Sie nicht mit dem nächsten Bit überein, ohne zu erfassen)

  • . - Entspricht einem beliebigen Zeichen (außer Zeilenumbrüchen)

  • ()* - 0 oder mehr der vorhergehenden Gruppe

  • $ - Ende der Zeichenfolge

Update (2016):

Ich habe entdeckt, dass es tatsächlich einen Fehler gibt, wie DevTools im Netzwerkbereich mit Regex umgeht. Das bedeutet, dass die obige Problemumgehung nicht funktioniert, obwohl sie gültig ist. 

Der Bereich Netzwerk filtert nach Name und Pfad (wie aus dem Quellcode ermittelt), führt jedoch zwei Tests durch, die ODER-Tests durchführen. Wenn im obigen Fall loadMess im Namen, jedoch nicht im Pfad (z. B. nicht Domäne oder Verzeichnis) enthalten ist, wird dies in beiden Fällen übereinstimmen. Um dies zu klären, true || false === true, was bedeutet, dass loadMess nur herausgefiltert wird, wenn es sowohl im Namen als auch im Pfad gefunden wird. 

Ich habe ein Problem in Chromium erstellt und anschließend einen fix zur Überprüfung durchgeschoben. Dies wurde anschließend zusammengeführt .

73
Gideon Pyzer

Dies wird hier beantwortet - für das neueste Chrome 58.0.3029.110 (Official Build) (64-Bit) https://stackoverflow.com/a/27770139/4772631

Beispiel: Wenn ich alle Gifs ausschließen möchte, tippe einfach -gif Here is a short example

22
Johnny C

Chrome broswer dev tools unterstützt den regrex-Filter nicht sehr gut.
Wenn ich einige Anfragen ausblenden möchte, funktioniert es nicht wie oben gezeigt. Sie können jedoch -hide1-hide2 verwenden, um die gewünschte Anfrage auszublenden.
Lassen Sie einfach ein Leerzeichen zwischen den Bedingungen, und dies stimmt nicht mit dem regrex überein

3
Marx Wolf

Bei der neuesten Chrome-Version (62) müssen Sie Folgendes verwenden:

-mime-type:image/gif
0
Mepps