Google Chrome'da belirli bir sorguyla eşleşen tüm web geçmişini nasıl silebilirim


77

Google Chrome'da, belirli bir sorguyla eşleşen tüm arama geçmişini silmek mümkündür (örneğin, en.wikipedia.org)?


Bir aramadaki tüm öğeleri Google Web Geçmişinden seçmek mümkündür. Google Web Geçmişini Chrome'un web geçmişiyle senkronize etmenin mümkün olup olmadığını merak ediyorum.
Anderson Green,

"Google Web Geçmişi için Güncelleyici" adlı bir uzantı var - bu uzantı Google Web Geçmişinin Google Chrome'da çalışmasına izin veriyor.
Anderson Green,

3
@AndersonGreen Eğer kabul cevabı güncellemek misiniz superuser.com/a/791728/84229 dan Fabricio PH. Orijinal doğru cevap budur. Şu anda kabul edilen, herhangi bir kredi atfetmeden doğru cevabı kopyalamıştı. Şimdi orijinal haline geri döndü.
kullanıcı

3
@AndersonGreen Pooya 'yı doğru cevap olarak seçmelisiniz , bunu yapmanın en basit ve en hızlı yolu budur. Üstelik, Fabricio cevabı üzerine kendi kendine reklam veriyor, ki bu da tamamlanmadı.
LasagnaAndroid

Yanıtlar:


60

Güncelleme Ocak 2019

Artık Chrome, klavye kısayolunu destekliyor CtrlAveyaA


Orijinal cevap

JavaScript kodunu enjekte eden hacker kısayolunu alabilirsiniz .

Adım 1 Chrome geçmişi bir iFrame içinde sorgulandığından, ziyaret etmek zorundayız: chrome: // history-frame / (URL'yi kopyalayıp yapıştırın)

Adım 2 Arama sorgusunu yapın.

Adım 3 Chrome konsolunu açın ( F12veya CtrlShiftiveya i) ve uygulayın:

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

Adım 4 ' Seçilen öğeleri kaldır ' düğmesine basın.

Aslında bu, geçerli sayfadaki elemanları siler. Uzatmaya çalışabilirim, ama bu iyi bir başlangıç ​​noktası. Blogumdaki makalenin tamamını oku .


3
Bu artık çalışmıyor. document.getElementsByTagName ('input') boş dizi döndürüyor.
Dinesh ygv

2
@FabricioPH Senaryoyu chrome: // history yerine "chrome: // history-frame olarak koştum, bu yüzden benim için işe yaramadı. Bu yüzden benim için işe yaramadı. Bu çerçeve içinde iyi çalışıyor.
dinesh ygv

2
Bu harika! İlk başta işe yaramayan farklı bir sekmede koştum (mantıklı olarak ulaşılabilir sebeplerden dolayı). Konsolu chrome: // history-frame ile aynı sekmede yeniden açtım ve hepsi işe yaradı.
Jameson

1
çok temiz ve kolay bir çözüm
danboh

1
Bu çözüm modası geçmiş: basitçe "ctrl + a"
wuppi

126

Bu basit ve kolaydır.

Ne silmek istediğinizi arayın. İlki seçin. Şimdi en son sonuca gidin. Basın shiftve en sonuncuyu seçin. Şimdi tüm eşleşmeler seçildi ve bunları birlikte kaldırabilirsiniz.


Bazı durumlarda, bir adresin geçmiş sonuçlarından kaldırılması, bu adresin url bar otomatik önerilerinde görünmesini engellemek için yeterli değildir.

Bu durumda burayı ziyaret edin: https://superuser.com/a/273280/121184


1
Daha fazla bilgi burada: superuser.com/a/747816/85129
Anderson Green

2
Veya bir hacker kısayolu alabilir, cevabımı aşağıda bulabilirsiniz;)
Fabricio PH

5
@AndersonGreen Bu doğru cevap, Fabricio'nun değil.
LasagnaAndroid

Bu belli değil. Metnin seçilmesini bekliyorum.
Dinesh ygv

1
cevaplarından biri de bunu kapsar (
yorumumu

15

İçin literal "sorgusu" değerleri ...

Chrome geçmişinizi SQL kullanarak da sorgulayabilirsiniz. ( Firefox da: aşağıya bakın. Elbette uygun dosya yolunun değiştirilmesi gerekecek ).

Her şeyden önce, Chrome Geçmişi dosyasını bulmanız gerekir. Bu, benim sistemimde

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

daha genel olarak çevirmesi gereken

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

Orada bir "Tarihçe" dosyası bulacaksınız. Bu bir SQLite3 dosyasıdır ve işlemek için Chrome'un kapatılması gerekir . Ortalığı karıştırırsanız, Geçmiş dosyasını silin ve yeni bir başlangıç ​​yapın; sanki tüm Chrome geçmişini temizlemiş gibisiniz.

Ardından, dosyayı yeniden adlandırın History.sqlite3ve SQLiteMan'ı (veya başka bir SQLite3 editörünü yükleyin - Windows'ta, dosyayı çift tıklatarak bir öneriyi tetiklemek yeterli olabilir ), sonra dosyayı açın ( nb bazı yardımcı programların yeniden adlandırılması gerekmeyebilir). İşi kurtarmak için önce ismini değiştirmeden deneyin ).

URLS tablosunda, ziyaret ettiğiniz URL’leri bulacaksınız. Örneğin sorguyu çalıştırabilirim:

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

ziyaret ettiğim URL’lerin ana bilgisayarındaki ya da yol adı altındaki 'meetup' durumlarının tümünü görüntülemek için. Ya da pr0n'yi ya da ... herhangi bir şeyi, SQL sözdizimine bağlı kaldığım sürece arayabilirim .

Sorguyu çalıştırmak için diğer bilgileri de kullanabilirsiniz, örneğin son ziyaret saati. Sadece tarihleri , 1607 yılının 1 Ocak’ından bu yana geçen mikrosaniye sayısı olan Chrome saatine dönüştürmeniz gerektiğini unutmayın . Bir Unix kutusunda, yazmak size saniye sayısını söyleyecektir; bir milyon ile çarpın, 11644473600 ekleyin ve bitirdiniz.date +%s

Örneğin, 1 Ekim 2013'ten sonra ziyaretleri seçin:

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

Silmek için, değiştirmek SELECT *ile DELETEve sorguyu yürütmek için F9 tuşuna basın.

NOW()Geçerli tarih ve diğer SQLite sözdizimlerinin yerine kullanabilirsiniz .

("Arşiv Geçmişi" dosyasının Chrome tarafından arşivlenen son geçmişi tutması durumunda).

İşiniz bittiğinde, gerekirse, dosyayı "Geçmiş" olarak yeniden adlandırın.

Otomatikleştirme: tek tıklamayla temizlik

Aşağıdaki gibi bir komut satırı SQLite programı gerekiyor sqlite3ya sql3tool. Sonra (temizlemek istemiyoruz uygun yolları ile kod aşağıda modifiye, bir komut dosyası veya toplu iş dosyası yazmak benim ?, Seninki dokunmamak tarihini öyle mi):

# 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 ..."

Sadece bu sileceğini unutmayın sizin Geçmişi senin Chrome örneği. Örneğin, bir proxy kullanıyorsanız ve bu proxy günlükleri tutarsa, tüm bu URL'ler günlüklerde hala kullanılabilir durumda olacaktır .

GÜNCELLEME : Ayrıca, dosyanın açık ve bilinen bir uzantıya sahip olmasını gerektiren bazı beyinsel bir SQL aracı kullanıyorsanız, işlemleri başlatmadan önce uygun bir RENAME gerçekleştirmeniz gerekir; bitti:

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"

Her neyse, bu yapıldıktan sonra, script simgesine çift tıklayın ve hey presto !, Chrome geçmişinizi temizleyin . Firefox ile de çalışır; zaman damgaları başka bir zaman referans çerçevesi içinde olabilir, ancak (muhtemelen düz Unix), bu yüzden atlamadan önce suyu kontrol edin.

Kurabiye temizlemeye ne dersiniz?

Aynı şeyi çerezler için Geçmiş yerine de yapmak isteyebilirsiniz.

Ancak, Chrome veri dizininde, biri Tanımlama Bilgileri olarak adlandırılan Geçmiş dışındaki dosyaları fark etmişsinizdir . :-)

Gelişmiş palet kaplama

Yukarıdaki SQL numarası, silme işlemleriyle sınırlı değildir. Girişleri UPDATEkomutla değiştirebilirsiniz ; Gereksiz girişleri sildikten sonra INSERT, Chrome'un gerçekte ziyaret etmediğiniz veya belirli bir zamanda ve tarihte ziyaret etmediğiniz bazı URL'leri ziyaret ettiğinize inandığını göstermek için uygun zaman ve tarih makrolarıyla birlikte kullanabilirsiniz .

Bu, bir tarayıcı oturumunu sterilize etmek için çok uzun süre boş bir tarayıcı penceresine sırlı bakan birinin olası bir resmiyle sonuçlanacağı durumlarda bir işe yarayabilir ve bir tür boşta gezinti tercih edilebilir. Tabii ki, bu hiç kimsenin her gün tam olarak aynı navigasyon “kalıbı” olduğunu fark etmediğini varsayar .


Komut "URL'den SİL ..."
Enver

3

Shift tuşunu basılı tutup ilk url onay kutusunu tıklatarak ve sonuncuyu aşağı doğru kaydırın. Bu, Google’a aralarındaki tüm gönderileri seçmesini söyler. Daha sonra "sil" e basarsınız ve o URL için Voila geçmişi gider


SuperUser Meron'a hoş geldiniz. Bu geçerli olsa da, en az iki cevapta gönderilen bilgileri kopyalar.
bertieb

2

Fabricio PH’nın garipliğini eklemek için, bu, chrome: // history-frame sayfasındaki belirli bir arama için sonuçların tüm sayfalarını , devtools konsoluna yapıştırıldığında temizlemelidir:

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);

2

Chrome: // history veya chrome: // history-frame sayfasını ziyaret edebilirsiniz. Sayfada arama yapmaya başlayabilirsiniz ve tüm sonuçlar listelendiğinde CTRL + Agörünür tüm öğeleri seçmek için tıklamanız yeterlidir . Tekrar basılması tüm öğelerin seçimini kaldırır.

Seçilen öğeler ile basitçe onları DELanahtarla silin .


1

Hayır, şu anda Chrome'un kendisi tarafından desteklenmiyor.

Yine de, uzantılar geçmiş verilerinize erişmeyi isteyebilir. Bu nedenle, bir uzantının ihtiyaçlarınızı karşılaması mümkün olacaktır. Böyle bir uzantıyı kendim bilmiyorum, ancak küçük bir arama, bunu bulmamı sağladı:

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

Muhtemelen bu eklenti istediğinizi yapabilir.


2
Bu cevap modası geçmiş - bunu ya da birisini görün
Garrulinae

Ya da silemiyorum, üzgünüm
Steven Roose

Bu iyi - Ben sadece gelecek izleyiciler için işaret.
Garrulinae

Üzücü şey, bunun için temsilcisi kaybetmem: p
Steven Roose

Uzatma gerekli değil, cevabımı kontrol edin :)
Fabricio PH

1

Sadece Chrome'u şu url ile kullanın: chrome: // history / # e = 1 & p = 0

URL çubuğunuza kopyalamanız / yapıştırmanız gerekebilir.


1

Chrome çubuğunda, silmek istediğiniz geçmiş öğesini aramayı deneyin. Sonuçlarda göründüğünde, ok tuşlarını kullanarak aşağı doğru kaydırın (listedeki ilk öğe olsa bile) ve Shift + Delete tuşlarına basın.



1

Kaldırmak istediğiniz URL'yi aşağıdaki ekran görüntüsündeki gibi geçmiş sekmesine yazın, geliştirici konsolunu değiştirin (mac: opt + cms + i) ve <iron-listöğeyi seçin . Sonra js konsolunu (esc) değiştirin ve aşağıdaki kodu konsola yazın:

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

Tüm görünür elemanları seçmelidir. Sil düğmesine tıklayın ve liste boş kalana veya krom tuhaf bir hata verinceye kadar tekrarlayın.

tarih sekmesi


1

Belirli bir siteye yapılan tüm ziyaretleri silmeniz gerekiyorsa, etki alanı adını istediğiniz dosyaya eklemeniz için Chrome menüsünü açabilir ve daha sonra geçmişe geçebilirsiniz. manuel olarak girin ve bu etki alanı ile ilgili tüm girişleri seçin - temiz geçmiş tuşuna basın. Belki de sorunuzla ilgili daha fazla bilgiyi burada bulabilirsiniz rocketfiles.com


0

Bu uzantıyı Google Chrome'da kullan: Geçmiş Takvimi

Tam olarak aradığım şey ... geçmişi silmek, yani firefox gibi, yani hızlı ve pürüzsüz. Amazon.com gibi siteler için 2000'den fazla geçmişiniz varsa, google chrome geçmişi görüntüleyici yaş alır (sayfa sayfa gider), ancak firefox geçmişi penceresinde (veya yukarıda belirtilen krom extn'i kullanarak) tüm 2000'i seçip silebilirsiniz. tek seferde


Bu bağlantıda 404 gösteriyor
Anwar

0
  • açmak chrome:historyve silmek istediğiniz web sitelerini arayın.
  • krom konsolunuzu ile açın ctrl-shift-j.

  • Mümkünse, konsolun hemen üzerindeki açılır menünün vb. okunmadığından history (history-frame)emin olun top,.

  • Konsolda aşağıdaki kodu çalıştırın:

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


0

Fabricio'nun kodu sizin için işe yaramazsa, bu kodun çalıştığını ve ek olarak benim için "seçileni kaldır" düğmesini tıklatarak yapmam gereken tek şey onay iletişim kutusunu tıklatmak.

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

document.getElementById("remove-selected").disabled = false
document.getElementById("remove-selected").click()

0
  1. İlk onay kutusuna tıklayın.
  2. Sayfanın altına doğru kaydırın.
  3. Vardiyayı tutun ve son onay kutusuna tıklayın.
  4. Tüm onay kutusu seçilecektir; "Seçilen Öğeleri Kaldır" düğmesinin bulunduğu üste kaydırın.
  5. Düğmesine tıklayın. Seçilen öğeler silinecek :)

Süper kullanıcıya hoş geldiniz. Bunun gibi soruların cevap verebilecek en iyi şey olmadığını söyleyebilirim! Diğer cevaplar, yönteminiz dahil, bunun nasıl yapılacağına ilişkin seçeneklere sahiptir.
Lister,

0

Aşağıdakileri kullanın:

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()
}

Krom tarayıcı konsoluna bir geçmiş FRAME sayfasını yerleştirin. Düzenli tarih değil, tarihin ÇERÇEVE . Ardından, işlevi çağırın ve removeItemsofQueryaramak ve argüman olarak kaldırmak istediğiniz terimi girin. Enter tuşuna ve son çıkarma düğmesine basın. O zaman bitti. Tebrikler.


0

Aramak istediğiniz terimi yazmaya başlayın, istenmeyen terim göründüğünde, bu terime gitmek için yukarı ve aşağı ok tuşlarını kullanın ve Shift + Delete tuşlarına basın.


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()

1
(İngilizce açıklayınız kelimelerin bu soruya nasıl cevap).
G-Man,

Chrome: // history'ye gidin, ne istediğinizi arayın, Chrome Konsolu'nu açın, yukarıdaki kodu kopyalayıp yapıştırın, hepsini seçmek için
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_()  

})();
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.