Wie kann ich das gesamte Webprotokoll löschen, das einer bestimmten Abfrage in Google Chrome entspricht?

77

Kann in Google Chrome der gesamte Suchverlauf gelöscht werden, der einer bestimmten Suchanfrage entspricht (z. B. en.wikipedia.org)?

Anderson Green
quelle
Es ist möglich, alle Elemente in einer Suche aus dem Google-Webprotokoll auszuwählen. Ich frage mich, ob es möglich ist, das Google-Webprotokoll mit dem Chrome-Webprotokoll zu synchronisieren.
Anderson Green
Es gibt eine Erweiterung mit dem Namen "Updater für das Google-Webprotokoll". Diese Erweiterung ermöglicht anscheinend die Verwendung des Google-Webprotokolls in Google Chrome.
Anderson Green
3
@AndersonGreen Könnten Sie bitte die akzeptierte Antwort auf superuser.com/a/791728/84229 von aktualisieren Fabricio PH. Das ist die ursprünglich richtige Antwort. Die aktuell akzeptierte Antwort hatte einfach die richtige Antwort kopiert, ohne eine Gutschrift zu erteilen. Jetzt wurde die ursprüngliche Version wiederhergestellt.
Benutzer
3
@AndersonGreen Sie sollten Pooya als die richtige Antwort wählen , es ist der einfachste und schnellste Weg, dies zu tun. Außerdem macht Fabricio einige Eigenwerbung für seine Antwort, die jedoch nicht vollständig ist.
LasagneAndroid
Um es schnell zu machen: Suche und drücke "Strg + a", um alle Ergebnisse auszuwählen
wuppi

Antworten:

60

Update Januar 2019

Jetzt unterstützt Chrome die Tastenkombination CtrlAoderA


Ursprüngliche Antwort

Sie können die Hacker-Verknüpfung verwenden, um JavaScript-Code einzufügen .

Schritt 1 Da der Chrome-Verlauf in einem iFrame abgefragt wird, müssen wir Folgendes besuchen: chrome : // history-frame / (URL kopieren und einfügen)

Schritt 2 Führen Sie die Suchabfrage durch.

Schritt 3 Öffnen Sie die Chrome-Konsole ( F12oder CtrlShiftioder i) und führen Sie Folgendes aus:

var inputs = document.getElementsByTagName('input');
for (var i = 0; i < inputs.length; ++i) {
  if (inputs[i].type == "checkbox"){
    inputs[i].checked = true;
  }
}
document.getElementById("remove-selected").disabled = false

Schritt 4 Klicken Sie auf die Schaltfläche " Ausgewählte Elemente entfernen ".

Tatsächlich werden die Elemente auf der aktuellen Seite gelöscht. Ich könnte versuchen, es zu erweitern, aber es ist ein guter Ausgangspunkt. Lesen Sie den vollständigen Artikel in meinem Blog.

Fabricio PH
quelle
3
Das funktioniert nicht mehr. document.getElementsByTagName ('input') gibt ein leeres Array zurück.
Dinesh YGV
2
@FabricioPH Ich habe das Skript in chrome: // history anstelle von "chrome: // history-frame" ausgeführt, weshalb es bei mir nicht funktioniert hat. Es funktioniert auch innerhalb des Frames.
dinesh ygv
2
Das ist toll! Zuerst habe ich es in einem anderen Tab ausgeführt, der nicht funktioniert hat (im Nachhinein aus logisch erreichbaren Gründen). Also habe ich die Konsole in demselben Tab wie chrome: // history-frame erneut geöffnet, und alles hat funktioniert.
Jameson
1
Sehr saubere und einfache Lösung
Danbo
1
Diese Lösung ist veraltet: Drücken Sie einfach "Strg + A"
Wuppi
126

Das ist einfach und leicht.

Suchen Sie nach dem, was Sie entfernen möchten. Wählen Sie den ersten aus. Scrollen Sie nun zum neuesten Ergebnis. Drücken Sie shiftund wählen Sie die neueste. Jetzt sind alle Übereinstimmungen ausgewählt und können gemeinsam entfernt werden.


In einigen Fällen reicht das Entfernen einer Adresse aus den Verlaufsergebnissen nicht aus, um zu verhindern, dass diese Adresse in den automatischen Vorschlägen der URL-Leiste angezeigt wird.

Besuchen Sie in diesem Fall hier: https://superuser.com/a/273280/121184

Pooya Estakhri
quelle
1
Weitere Informationen finden Sie hier: superuser.com/a/747816/85129
Anderson Green
2
Oder Sie können eine Hacker-Verknüpfung nehmen, siehe meine Antwort unten;)
Fabricio PH
5
@AndersonGreen Dies ist die richtige Antwort, nicht die von Fabricio.
LasagneAndroid
Dieser ist nicht offensichtlich. Ich erwarte, dass der Text ausgewählt wird.
Dinesh YGV
1
Eine der Antworten weiter unten deckt auch dies ab (habe es herausgefunden, nachdem ich meinen Kommentar abgegeben habe)
wuppi
15

Für Literalwerte von "query" ...

Sie können Ihren Chrome-Verlauf sogar mit SQL abfragen. ( Firefox auch: siehe unten. Natürlich muss der entsprechende Dateipfad geändert werden ).

Zunächst müssen Sie die Chrome-Verlaufsdatei suchen. Dies ist auf meinem System in

C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default

was sollte in einem allgemeineren übersetzen

<USER FOLDER>\Local Settings\Application Data\Google\Chrome\User Data\Default

Dort finden Sie eine "History" -Datei. Es ist eine SQLite3-Datei, und um sie zu manipulieren, muss Chrome geschlossen werden . Wenn Sie es vermasseln, löschen Sie die Verlaufsdatei und beginnen Sie von vorn - es ist, als hätten Sie den gesamten Chrome-Verlauf gelöscht.

Benennen Sie dann die Datei um History.sqlite3und installieren Sie SQLiteMan (oder einen anderen SQLite3-Editor - unter Windows reicht ein Doppelklick auf die Datei möglicherweise aus, um einen Vorschlag auszulösen). Öffnen Sie dann die Datei ( einige Dienstprogramme müssen möglicherweise nicht umbenannt werden. Möglicherweise versuchen Sie es, ohne vorher umzubenennen, um Arbeit zu sparen ).

In der URLS-Tabelle finden Sie die von Ihnen besuchten URLs. Zum Beispiel kann ich die Abfrage ausführen:

SELECT * FROM urls WHERE url LIKE '%meetup%';

um alle Vorkommen von 'meetup' im Host- oder Pfadnamen-Teil der von mir besuchten URLs anzuzeigen. Oder ich könnte nach pr0n suchen oder ... irgendetwas, solange ich mich an die SQL-Syntax halte .

Sie können auch die anderen Informationen verwenden, um die Abfrage auszuführen, z. B. den Zeitpunkt des letzten Besuchs. Denken Sie daran, dass Sie die Daten in Chrome-Zeit umrechnen müssen. Dies ist die Anzahl der Mikrosekunden, die seit dem 1. Januar, dem Jahr unseres Herrn 1601, vergangen sind . In einem Unix-Feld wird durch Eingabe date +%sdie Anzahl der Sekunden angegeben. Mit einer Million multiplizieren, 11644473600 addieren und fertig.

Wählen Sie beispielsweise Besuche nach dem 1. Oktober 2013 aus:

SELECT * FROM urls WHERE ((last_visit_time/1000000)-11644473600) - 
    strftime('%s', '2013-10-01 00:00:00') > 0;

Zu löschen, ersetzen Sie einfach SELECT *mit DELETEund drücken Sie F9 , um die Abfrage auszuführen.

Sie können NOW()anstelle des aktuellen Datums auch eine andere SQLite-Syntax verwenden .

(Falls die Datei "Archivverlauf" den letzten von Chrome archivierten Verlauf enthält).

Wenn Sie fertig sind, benennen Sie die Datei bei Bedarf in "Verlauf" um.

Automatisierung: Ein-Klick-Desinfektion

Sie benötigen ein SQLite-Befehlszeilendienstprogramm wie sqlite3oder sql3tool. Dann schreiben Sie ein Skript oder eine Batch-Datei und ändern den folgenden Code mit den entsprechenden Pfaden (Sie möchten meinen Verlauf nicht löschen und Ihren nicht ändern, oder?):

# ENSURE CHROME IS CLOSED (pskill by SysInternals might be useful)
echo "DELETE * FROM urls WHERE url LIKE '%facebook%' OR url LIKE '%twitter%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"
echo "DELETE * FROM urls WHERE url LIKE '%porn%' OR url LIKE '%my-employer-is-a-moron%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"
echo "DELETE * FROM urls WHERE url LIKE ..."

Denken Sie nur daran, dass dadurch Ihr Verlauf auf Ihrer Chrome-Instanz gelöscht wird. Wenn Sie beispielsweise einen Proxy verwenden und dieser Proxy Protokolle führt, sind alle diese URLs weiterhin in den Protokollen verfügbar .

UPDATE : Wenn Sie ein SQL-Tool verwenden, für das eine explizite und bekannte Erweiterung der Datei erforderlich ist, müssen Sie vor dem Start des Vorgangs einen entsprechenden RENAME ausführen und einen anderen, um die Reihenfolge zu ändern, wenn Sie habe fertig:

REN "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History" "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3"
echo "DELETE * FROM urls WHERE url LIKE '%facebook%' OR url LIKE '%twitter%';" | sql3tool "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3"
REN "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History.sqlite3" "C:\Documents and Settings\Leonardo Serni\Impostazioni locali\Dati applicazioni\Google\Chrome\User Data\Default\History"

Sobald dies erledigt ist, doppelklicken Sie auf das Skriptsymbol und hey presto !, Ihr Chrome-Verlauf wird bereinigt . Es funktioniert auch mit Firefox. Die Zeitstempel könnten sich jedoch in einem anderen Zeitrahmen befinden (möglicherweise Unix). Überprüfen Sie daher das Wasser, bevor Sie hineinspringen.

Wie wäre es Cookies zu reinigen?

Möglicherweise möchten Sie das Gleiche mit Cookies anstelle von Verlauf tun.

Sie haben jedoch festgestellt, dass im Chrome-Datenverzeichnis andere Dateien als "Verlauf" vorhanden sind, von denen eine "Cookies" heißt ... :-)

Erweiterte Streckenabdeckung

Der obige SQL-Trick ist nicht auf Löschvorgänge beschränkt. Sie können Einträge mit dem UPDATEBefehl ändern . Nach dem Löschen nicht benötigter Einträge können Sie INSERTmit den entsprechenden Zeit- und Datumsmakros festlegen, dass Chrome davon ausgeht, dass Sie einige URLs besucht haben, die Sie nicht oder zu einem bestimmten Zeitpunkt nicht besucht haben.

Dies kann in solchen Fällen nützlich sein, wenn die Bereinigung einer Browsersitzung zu einem unwahrscheinlichen Bild führen würde, in dem jemand sehr lange auf ein leeres Browserfenster starrt, und eine Art inaktive Navigation vorzuziehen ist. Dies setzt natürlich voraus, dass niemand merkt, dass es jeden Tag genau die gleiche Navigationsvorlage gibt .

LSerni
quelle
Der Befehl wäre "DELETE from URL ..."
Anwar
3

Indem Sie die Umschalttaste gedrückt halten und auf das erste URL-Kontrollkästchen klicken und dann zum letzten scrollen. Dadurch wird Google angewiesen, alle dazwischen liegenden Beiträge auszuwählen. Sie drücken dann "Löschen" und der Voila-Verlauf ist für diese bestimmte URL verschwunden

Meron
quelle
Willkommen bei SuperUser Meron. Dies ist zwar gültig, dupliziert jedoch Informationen, die in mindestens zwei anderen Antworten veröffentlicht wurden.
Bertieb
2

Um die Anzeige von Fabricio PH zu erweitern, sollten alle Ergebnisseiten für eine bestimmte Suche auf der Seite chrome : // history-frame gelöscht werden, wenn diese in die devtools-Konsole eingefügt wird:

var clearHistoryPage, historyInterval;

historyInterval = null;

clearHistoryPage = function() {
  var i, input, inputs, len, spinner;

  // If spinner is visible a new page is still loading
  spinner = document.getElementById('loading-spinner');
  if (!spinner.hasAttribute('hidden')) {
    console.log("Waiting on load");
    return;
  }

  inputs = document.getElementsByTagName('input');
  // When no history is present 5 inputs are still present on the history frame page
  if (inputs.length <= 5) {
    console.log("Found 5 or less inputs, stopping");
    clearInterval(historyInterval);
    return;
  }

  console.log("FOUND " + inputs.length + " results, clearing");
  for (i = 0, len = inputs.length; i < len; i++) {
    input = inputs[i];
    if (input.type === 'checkbox') {
      input.checked = true;
    }
  }
  document.getElementById('remove-selected').disabled = false;
  document.getElementById('remove-selected').click();
  document.getElementById('alertOverlayOk').click();
};

historyInterval = window.setInterval(clearHistoryPage, 5000);
Thom
quelle
2

Sie können entweder chrome: // history oder chrome: // history-frame besuchen. Auf der Seite können Sie mit der Suche beginnen. Wenn alle Ergebnisse aufgelistet sind, klicken Sie einfach auf CTRL + A, um alle sichtbaren Elemente auszuwählen. Durch erneutes Drücken werden alle Elemente abgewählt.

Mit den ausgewählten Elementen löschen Sie sie einfach über die DELTaste.

Ralph Segi
quelle
1

Nein, das wird derzeit von Chrome selbst nicht unterstützt.

Erweiterungen können jedoch den Zugriff auf Ihre Verlaufsdaten anfordern. Es wäre also möglich, dass eine Erweiterung Ihre Anforderungen erfüllt. Ich kenne selbst keine solche Erweiterung, aber eine kleine Suche brachte mich dazu, diese zu finden:

https://chrome.google.com/webstore/detail/gjieilkfnnjoihjjonajndjldjoagffm

Möglicherweise kann diese Erweiterung das tun, was Sie verlangen.

Steven Roose
quelle
2
Diese Antwort ist veraltet - siehe diese oder diese
Garrulinae
Ich kann es auch nicht löschen, sorry
Steven Roose
Das ist in Ordnung - ich mache nur auf zukünftige Zuschauer aufmerksam.
Garrulinae
Das Traurige ist, dass ich dafür den Repräsentanten verliere: p
Steven Roose
Keine Erweiterung erforderlich, überprüfen Sie meine Antwort :)
Fabricio PH
1

Verwenden Sie einfach Chrome mit der URL: chrome: // history / # e = 1 & p = 0

Möglicherweise müssen Sie es kopieren / in Ihre URL-Leiste einfügen.

Hugolpz
quelle
1

Suchen Sie in der Chrome-Leiste nach dem Verlaufselement, das Sie löschen möchten. Wenn es in den Ergebnissen angezeigt wird, scrollen Sie mit den Pfeiltasten nach unten (auch wenn es sich um das erste Element in der Liste handelt) und drücken Sie Umschalt + Entf.

Dejan Milosevic
quelle
1

Wenn Sie von Google auf dieses Thema gestoßen sind, können Sie jetzt auf einfachere Weise mehrere Elemente löschen.

Gwendal
quelle
Diese Methode funktioniert nicht
Woeitg
1

Geben Sie die zu entfernende URL auf der Registerkarte "Verlauf" ein (siehe Abbildung unten), schalten Sie die Entwicklerkonsole um (Mac: opt + cms + i) und wählen Sie das <iron-listElement aus. Schalten Sie dann die js-Konsole (esc) um und geben Sie den folgenden Code in die Konsole ein:

$0.querySelectorAll('history-item').forEach(_ => _.root.querySelectorAll('cr-checkbox').forEach(_ => _.click()))

Es sollte alle sichtbaren Elemente auswählen. Klicken Sie auf "Löschen" und wiederholen Sie den Vorgang, bis die Liste leer ist oder Chrome einen seltsamen Fehler ausgibt.

Registerkarte "Verlauf"

Ja
quelle
1

Sie können das Chrome-Menü öffnen und dann in den Verlauf wechseln, wenn Sie alle Besuche auf der bestimmten Website löschen müssen, damit Sie den Namen der Domain in das erforderliche Feld eintragen können, oder wenn Sie drei Punkte rechts von der gewünschten Domain gefunden haben es manuell und wählen Sie alle Eingaben im Zusammenhang mit dieser Domain - drücken Sie bereinigen Verlauf. Vielleicht finden Sie hier weitere Informationen zu Ihrer Frage: rocketfiles.com

Lisa Philips
quelle
0

Verwenden Sie diese Erweiterung in Google Chrome: Verlaufskalender

Es ist genau das, wonach ich gesucht habe ... es bewirkt, dass der Verlauf wie bei Firefox gelöscht wird, dh schnell und reibungslos. Wenn Sie mehr als 2000 Verlaufsmarkierungen für Websites wie amazon.com haben, dauert die Anzeige des Google Chrome-Verlaufs einige Zeit (Seite für Seite). Sie können jedoch im Firefox-Verlaufsfenster (oder mithilfe der oben genannten Chrome-Erweiterung) alle 2000 auswählen und löschen auf einmal

Jatin Grover
quelle
Es zeigt 404 auf diesem Link
Anwar
0
  • Öffnen chrome:historyund suchen Sie nach den Websites, die Sie löschen möchten.
  • Öffnen Sie Ihre Chromkonsole mit ctrl-shift-j.

  • Stellen Sie gegebenenfalls sicher, dass die Dropdown-Liste direkt über der Konsole history (history-frame)und nicht top,usw. lautet .

  • Führen Sie den folgenden Code in der Konsole aus:

$$('input[type=checkbox]').forEach(el => el.checked = true); $("remove-selected").disabled = false;

Sethicus
quelle
0

Wenn der Code von Fabricio bei Ihnen nicht funktioniert, habe ich festgestellt, dass dieser Code funktioniert, und zusätzlich auf die Schaltfläche "Ausgewählte entfernen" für mich geklickt, sodass ich nur auf den Bestätigungsdialog klicken muss.

document.querySelectorAll('.entry-box input[type="checkbox"]').forEach(function(input) {
  input.checked = true;
});

document.getElementById("remove-selected").disabled = false
document.getElementById("remove-selected").click()
Pavelloz
quelle
0
  1. Klicken Sie auf das erste Kontrollkästchen.
  2. Scrollen Sie zum Ende der Seite.
  3. Halten Sie die Umschalttaste gedrückt und klicken Sie auf das letzte Kontrollkästchen.
  4. Das Kontrollkästchen Alle wird aktiviert. Scrollen Sie nach oben, wo die Schaltfläche "Ausgewählte Elemente entfernen" vorhanden ist.
  5. Klicken Sie auf die Schaltfläche. Ausgewählte Elemente werden gelöscht :)
Nikhil Shukla
quelle
Willkommen beim Superuser. Ich würde vorschlagen, dass Fragen wie diese nicht die beste Antwort sind! Andere Antworten haben bereits die Möglichkeit, dies zu tun, einschließlich Ihrer Methode.
Lister
0

Verwenden Sie Folgendes:

function hasText(a){
    if(a.innerText){
        return true}
    else{
        return false}
}

function isCheckbox(element){
    if(element.type=='checkbox'){
        return true
    }
}

function removeItemsofQuery(query){
    var element=document.getElementsByClassName('entry-box')
    var checkbox=[]
    var titles=[]
    for(i=0; i<element.length; i++){
        var children=element[i].children
        for(j=0; j<children.length; j++){
            if(hasText(element[i].children[j])==true && element[i].children[j].className!="time" ){
                var ds=element[i].children[j].innerText
                titles.push(ds)
            }
            if (isCheckbox(element[i].children[j])==true){
                var hg=element[i].children[j]
                checkbox.push(hg)
            }
        }
        }

    for(g=0; g<element.length; g++){
        var queries=titles[g].indexOf(query)
        if(queries>0){
            checkbox[g].checked=true
        }
    }
    var RS=document.getElementById('remove-selected')
    RS.disabled=false
    RS.click()
}

Legen Sie es in die Chrome-Browserkonsole auf einer der History- FRAME- Seiten. Keine reguläre Geschichte, sondern die Geschichte FRAME . Rufen Sie dann die Funktion auf removeItemsofQueryund geben Sie als Argument den Begriff ein, nach dem Sie suchen und den Sie entfernen möchten. Drücken Sie die Eingabetaste und anschließend die Schaltfläche zum endgültigen Entfernen. Dann sind Sie fertig. Herzliche Glückwünsche.

Damphair
quelle
0

Beginnen Sie, den Begriff zu schreiben, nach dem Sie suchen möchten. Wenn der unerwünschte Begriff angezeigt wird, navigieren Sie mit dem Aufwärts- und Abwärtspfeil zu diesem Begriff und drücken Sie Umschalt + Entf.

Nikolaos Mallios
quelle
0
function sleep(ms) {
    return new Promise(resolve => setTimeout(resolve, ms));
}
async function selectAll() {
    var count = 0;
    var inputs = document.getElementById("history-app").shadowRoot.getElementById("history").shadowRoot.getElementById("infinite-list").children;

    for (var i = 1; i < inputs.length; ++i) {

        if (inputs[i].shadowRoot.getElementById("checkbox").getAttribute('aria-checked') == "false") {
            inputs[i].shadowRoot.getElementById("checkbox").click();
            count++;
            await sleep(20);
        }
    }
    if (c > 0) selectAll()
}
selectAll()
konstruktor
quelle
1
Bitte erläutern Sie (in englischen Worten ), wie dies die Frage beantwortet.
G-Man
Gehe zu chrome: // history, suche was du willst, öffne Chrome Console, kopiere und füge den obigen Code ein, um alles auszuwählen
konstruktor
0
// Tested on Chrome Version 72.0.3626.119 (Official Build) (64-bit)
// 1) Open Chrome browser history.
// 2) Search for specific history you want to delete.
// 3) Cut-and-paste the code below in the Chrome Browser console.
// Enjoy!

(function (){
let historyApp = document.getElementById("history-app");
historyApp.items[0].selectAllItems();

// Delete history with a popup confirmation prompt
historyApp.deleteSelected();

// Delete with no prompt
// historyApp.items[0].deleteSelected_()  

})();
Code markieren
quelle