Como posso excluir todo o histórico da web que corresponde a uma consulta específica no Google Chrome


77

No Google Chrome, é possível excluir todo o histórico de pesquisa que corresponde a uma consulta específica (por exemplo, en.wikipedia.org)?


É possível selecionar todos os itens em uma pesquisa no Histórico da web do Google. Gostaria de saber se é possível sincronizar o Google Web History com o histórico da web do Chrome.
Anderson Green

Existe uma extensão chamada "Atualizador para o Histórico da Web do Google" - parece que essa extensão permite que o Histórico da Web do Google funcione no Google Chrome.
Anderson Green

3
@AndersonGreen Você poderia atualizar a resposta aceita para superuser.com/a/791728/84229 de Fabricio PH. Essa é a resposta correta original. O atualmente aceito simplesmente copiou a resposta correta sem atribuir nenhum crédito. Agora ele foi revertido para sua versão original.
usuário

3
@AndersonGreen Você deve escolher a Pooya como a resposta correta, é a maneira mais simples e rápida de fazer isso. Além disso, Fabricio está fazendo uma publicidade própria em sua resposta, o que não está completo.
LasagnaAndroid

Para torná-lo rápido: pesquise e pressione "ctrl + a" para selecionar todos os resultados
wuppi 7/01

Respostas:


60

Atualização Jan 2019

Agora, o Chrome suporta o atalho de teclado CtrlAouA


Resposta original

Você pode usar o atalho do hacker injetando código JavaScript .

Etapa 1 Como o histórico do Chrome é consultado dentro de um iFrame, precisamos visitar: chrome: // history-frame / (copiar e colar URL)

Etapa 2 Faça a consulta de pesquisa.

Etapa 3 Abra o console do Chrome ( F12ou CtrlShiftiou i) e execute:

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

Etapa 4 Clique no botão ' Remover itens selecionados '.

Na verdade, isso exclui os elementos na página atual. Talvez eu tente estendê-lo, mas é um bom ponto de partida. Leia o artigo completo no meu blog.


3
Isso não está mais funcionando. document.getElementsByTagName ('input') está retornando uma matriz vazia.
dinesh ygv

2
@FabricioPH eu corri o script em chrome: // história em vez de "chrome: // história-frame, que é por isso que não funcionou para mim Funciona bem dentro do quadro..
Dinesh ygv

2
Isso é ótimo! No começo, eu o executei em uma guia diferente, que não funcionou (em retrospectiva, por razões logicamente viáveis). Então, reabri o console na mesma guia que chrome: // history-frame, e tudo funcionou.
Jameson

11
muito limpo e fácil solução
danboh

11
Esta solução está desatualizada: basta pressionar "ctrl + a"
wuppi em 12/01

126

Simples e fácil.

Pesquise o que você deseja remover. Selecione o primeiro. Agora role para o resultado mais recente. Pressione shifte escolha o mais recente. Agora todas as correspondências estão selecionadas e você pode removê-las juntas.


Em alguns casos, remover um endereço dos resultados do histórico não é suficiente para impedir que o endereço apareça nas sugestões automáticas da barra de URL.

Nesse caso, visite aqui: https://superuser.com/a/273280/121184


11
Mais informações estão aqui: superuser.com/a/747816/85129
Anderson Verde

2
Ou você pode usar um atalho de hacker, veja minha resposta abaixo;)
Fabricio PH

5
@AndersonGreen Esta é a resposta correta, não a de Fabricio.
LasagnaAndroid

Este não é óbvio. Espero que o texto seja selecionado.
dinesh ygv

11
uma das respostas mais abaixo também (descobri isso depois de colocar meu comentário)
wuppi

15

Para valores literais de "consulta" ...

Você pode até consultar seu histórico do Chrome usando SQL. ( Firefox também: veja abaixo. Obviamente, o caminho do arquivo apropriado precisará ser alterado ).

Primeiro de tudo, você precisa localizar o arquivo de histórico do Chrome. Isto é, no meu sistema, em

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

que deveria traduzir de uma maneira mais geral

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

Lá, você encontrará um arquivo "Histórico". É um arquivo SQLite3 e , para manipulá-lo, o Chrome precisa ser fechado . Se você bagunçar tudo, exclua o arquivo Histórico e comece de novo - é como se você tivesse limpado todo o histórico do Chrome.

Em seguida, renomeie o arquivo History.sqlite3e instale o SQLiteMan (ou qualquer outro editor do SQLite3 - no Windows, clicar duas vezes no arquivo pode ser suficiente para acionar uma sugestão) e abra o arquivo ( alguns utilitários podem não precisar da opção de renomear). tente sem renomear primeiro, para salvar o trabalho ).

Na tabela URLS, você encontrará os URLs que você visitou. Por exemplo, eu posso executar a consulta:

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

para exibir todas as ocorrências de 'meetup' na parte do host ou do caminho dos URLs que visitei. Ou eu poderia procurar pr0n , ou ... qualquer coisa, desde que aderisse à sintaxe SQL .

Você pode até usar as outras informações para executar a consulta, por exemplo, a hora da última visita. Lembre-se de que você precisa converter as datas no horário do Chrome , que é o número de microssegundos decorridos desde 1º de janeiro de ano do nosso Senhor 1601 . Em uma caixa Unix, digitar date +%sinforma o número de segundos; multiplique por um milhão, adicione 11644473600 e pronto.

Por exemplo, selecione visitas após 1º de outubro de 2013:

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

Para excluir, basta substituir SELECT *por DELETEe pressionar F9 para executar a consulta.

Você pode usar em NOW()vez da data atual e qualquer outra sintaxe SQLite .

(No caso, o arquivo "Histórico do arquivo morto" mantém o último histórico arquivado pelo Chrome).

Quando terminar, se necessário, renomeie o arquivo de volta para "Histórico".

Automatizando: higienização com um clique

Você precisa de um utilitário SQLite de linha de comando como sqlite3ou sql3tool. Em seguida, você escreve um script ou arquivo em lotes, modificando o código abaixo com os caminhos apropriados (não deseja limpar meu histórico deixando o seu intocado, não é?):

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

Lembre-se de que isso apaga seu histórico na sua instância do Chrome. Se, por exemplo, você usar um proxy, e esse proxy mantiver logs, todos esses URLs ainda estarão disponíveis nos logs .

ATUALIZAÇÃO : Além disso, se você estiver usando alguma ferramenta SQL com morte cerebral que exige que o arquivo tenha uma extensão explícita e conhecida, será necessário executar um RENAME apropriado antes de iniciar as operações e outro para colocar as coisas em ordem novamente quando você ' você terminou:

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"

De qualquer forma, uma vez feito isso, clique duas vezes no ícone do script e pronto !, seu histórico do Chrome é limpo . Também funciona com o Firefox; seus carimbos de data e hora podem estar em outro período de referência de tempo (possivelmente Unix simples), portanto verifique a água antes de entrar.

Que tal limpar biscoitos?

Você pode fazer o mesmo com os cookies, em vez do Histórico.

Mas você notou, no diretório de dados do Chrome, outros arquivos que não Histórico, um dos quais é chamado Cookies ... :-)

Cobertura avançada de faixas

O truque SQL acima não se limita a exclusões. Você pode modificar entradas com o UPDATEcomando; e depois de excluir entradas desnecessárias , você pode usar INSERTas macros de data e hora apropriadas para que o Chrome acredite que você visitou alguns URLs que você realmente não visitou ou não visitou em algum momento e data.

Isso pode ser útil nesses casos, quando a limpeza de uma sessão do navegador resultaria em uma imagem improvável de alguém olhando vidrado para uma janela vazia do navegador por um longo tempo, e é preferível algum tipo de navegação inativa. Obviamente, isso pressupõe que ninguém percebe que todos os dias há exatamente o mesmo 'modelo' de navegação .


O comando seria "DELETE from URL ..."
Anwar

3

Mantendo Shift pressionado e clicando na primeira caixa de seleção de URL, e rolando para baixo até a última. Isso diz ao Google para selecionar todas as postagens intermediárias. Em seguida, você clica em "excluir" e o histórico do Voila desaparece para esse URL específico


Bem-vindo ao SuperUser Meron. Embora isso possa ser válido, ele duplica as informações postadas em pelo menos duas outras respostas.
bertieb

2

Para adicionar ao awnser do Fabricio PH, isso deve limpar todas as páginas de resultados de uma determinada pesquisa na página chrome: // history-frame quando colada no console do devtools:

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

Você pode visitar chrome: // history ou chrome: // history-frame. Na página, você pode começar a pesquisar e, quando todos os resultados estiverem listados, basta pressionar CTRL + Apara selecionar todos os itens visíveis. Pressionar novamente desmarca todos os itens.

Com os itens selecionados, basta excluí-los através da DELtecla.


1

Não, atualmente não há suporte para o próprio Chrome.

No entanto, as extensões podem solicitar acesso aos seus dados do histórico. Portanto, seria possível uma extensão atender às suas necessidades. Eu mesmo não conheço essa extensão, mas uma pequena pesquisa me fez encontrar esta:

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

Possivelmente essa extensão pode fazer o que você solicita.


2
Esta resposta está desatualizada - veja este ou este
Garrulinae

Eu não posso excluí-lo tanto, desculpe
Steven Roose

Tudo bem - só estou apontando para futuros espectadores.
Garrulinae

O triste é que eu perco representante para isso: p
Steven Roose

Sem extensão necessário, verificar a minha resposta :)
Fabricio PH

1

Basta usar o Chrome com o URL: chrome: // history / # e = 1 & p = 0

Pode ser necessário copiar / colar na barra de URL.


1

Na barra do Chrome, tente pesquisar o item do histórico que você deseja excluir. Depois que ele aparecer nos resultados, role para baixo usando as teclas de seta (mesmo que seja o primeiro item da lista) e pressione Shift + Delete.



1

Digite o URL que você deseja remover na guia Histórico, como na captura de tela abaixo, alterne o console do desenvolvedor (mac: opt + cms + i) e selecione o <iron-listelemento. Alterne o console js (esc) e digite o seguinte código no console:

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

Ele deve selecionar todos os elementos visíveis. Clique em excluir e repita até a lista estar vazia ou o chrome apresentar um erro estranho.

guia histórico


1

Você pode abrir o menu do Chrome e, em seguida, passar para o histórico, se precisar excluir todas as visitas a um site específico, para colocar o nome do domínio no arquivo requerido ou pressionar três pontos à direita do domínio necessário, se encontrar manualmente e escolha todas as entradas relacionadas a este domínio - pressione histórico limpo. Talvez você possa encontrar mais informações relevantes para sua pergunta aqui rocketfiles.com


0

Use esta extensão no Google Chrome: Calendário do Histórico

É exatamente o que eu estava procurando ... faz a exclusão de histórico, etc., exatamente como o Firefox, isto é, rápido e suave. Se você tiver mais de 2000 marcas de histórico para sites como amazon.com, o visualizador de história do google chrome levará séculos (vá página por página), mas na janela de histórico do firefox (ou usando o extn chrome acima mencionado), você poderá selecionar todos os 2000 e excluir de uma só vez


Ele mostra 404 nesse link
Anwar

0
  • abra chrome:historye pesquise o (s) site (s) que você deseja excluir.
  • abra seu console do chrome com ctrl-shift-j.

  • se aplicável, verifique se o menu suspenso logo acima do console lê history (history-frame)e não top,etc.

  • execute o seguinte código no console:

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


0

Se o código do Fabricio não funcionar para você, descobri que esse código está funcionando e, além disso, clique no botão "remover selecionado" para mim, então a única coisa que preciso fazer é clicar na caixa de diálogo de confirmação.

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. Clique na primeira caixa de seleção.
  2. Role para baixo até a parte inferior da página.
  3. Mantenha a tecla Shift pressionada e clique na última caixa de seleção.
  4. Todas as caixas de seleção serão marcadas; Role para cima, onde o botão "Remover itens selecionados" está presente.
  5. Clique no botão Os itens selecionados serão excluídos :)

Bem-vindo ao super usuário. Eu sugeriria que perguntas como essas não são as melhores para responder! Outras respostas já têm as opções de como fazer isso, incluindo seu método.
Lister

0

Use o seguinte:

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

Coloque-o no console do navegador chrome, na página FRAME do histórico . História não regular, mas a história FRAME . Em seguida, chame a função removeItemsofQuerye insira o termo que deseja pesquisar e remover como argumento. Pressione enter e pressione o botão de remoção final. Então, você está pronto. Parabéns.


0

Comece a escrever o termo que deseja pesquisar, quando o termo indesejado aparecer, use as setas para cima e para baixo para ir para esse termo e pressione Shift + Delete.


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

11
Por favor, explique (em palavras em inglês ) como isso responde à pergunta.
G-Man

Ir para chrome: // história, procurar o que você quer, aberto Console Chrome, copie e cole o código acima para selecionar todos
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_()  

})();
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.