¿Cómo puedo eliminar todo el historial web que coincida con una consulta específica en Google Chrome?


77

En Google Chrome, ¿es posible eliminar todo el historial de búsqueda que coincida con una consulta específica (por ejemplo, en.wikipedia.org)?


Es posible seleccionar todos los elementos en una búsqueda desde el Historial web de Google. Me pregunto si es posible sincronizar el historial web de Google con el historial web de Chrome.
Anderson Green

Hay una extensión llamada "Actualizador para el historial web de Google". Parece que esta extensión permite que el historial web de Google funcione en Google Chrome.
Anderson Green

3
@AndersonGreen ¿Podría actualizar la respuesta aceptada a superuser.com/a/791728/84229 desde Fabricio PH. Esa es la respuesta correcta original. El aceptado actualmente simplemente había copiado la respuesta correcta sin atribuir ningún crédito. Ahora ha vuelto a su versión original.
usuario

3
@AndersonGreen Debes elegir Pooya 's como la respuesta correcta, es la forma más simple y rápida de hacerlo. Además, Fabricio está haciendo publicidad en su respuesta, que no está completa.
LasagnaAndroid

Para hacerlo rápido: busque y luego presione "ctrl + a" para seleccionar todos los resultados
wuppi

Respuestas:


60

Actualización ene 2019

Ahora Chrome admite el atajo de teclado CtrlAoA


Respuesta original

Puedes tomar el atajo del hacker inyectando código JavaScript .

Paso 1 Dado que el historial de Chrome se consulta dentro de un iFrame, tenemos que visitar: chrome: // history-frame / (copiar y pegar URL)

Paso 2 Haz la consulta de búsqueda.

Paso 3 Abra la consola Chrome ( F12o CtrlShiftio i) y ejecutar:

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

Paso 4 Presione el botón ' Eliminar elementos seleccionados '.

En realidad, esto elimina los elementos en la página actual. Podría intentar extenderlo, pero es un buen punto de partida. Lee el artículo completo en mi blog.


3
Esto ya no funciona. document.getElementsByTagName ('input') devuelve una matriz vacía.
dinesh ygv

2
@FabricioPH Ejecuté el script en chrome: // history en lugar de "chrome: // history-frame, por eso no funcionó para mí. Funciona bien dentro del marco.
dinesh ygv

2
¡Esto es genial! Al principio lo ejecuté en una pestaña diferente, que no funcionó (en retrospectiva, por razones lógicamente alcanzables). Entonces volví a abrir la consola en la misma pestaña que chrome: // history-frame, y todo funcionó.
Jameson

1
solución muy limpia y fácil
danboh

1
Esta solución está desactualizada: simplemente
presione

126

Eso es simple y fácil.

Busca lo que deseas eliminar. Selecciona el primero. Ahora desplácese al último resultado. Presione shifty elija el último. Ahora todas las coincidencias están seleccionadas y puedes eliminarlas juntas.


En algunos casos, eliminar una dirección de los resultados del historial no es suficiente para evitar que esa dirección aparezca en las sugerencias automáticas de la barra de URL.

En ese caso, visite aquí: https://superuser.com/a/273280/121184


1
Más información está aquí: superuser.com/a/747816/85129
Anderson Green

2
O puede tomar un atajo de hacker, vea mi respuesta a continuación;)
Fabricio PH

55
@AndersonGreen Esta es la respuesta correcta, no la de Fabricio.
LasagnaAndroid

Este no es obvio. Espero que el texto sea seleccionado.
dinesh ygv

1
una de las respuestas más abajo cubre eso también (lo descubrí después de colocar mi comentario)
wuppi

15

Para valores literales de "consulta" ...

Incluso puedes consultar tu historial de Chrome usando SQL. ( Firefox también: ver más abajo. Por supuesto, la ruta de archivo apropiada deberá cambiarse ).

En primer lugar, debe ubicar el archivo Historial de Chrome. Esto es, en mi sistema, en

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

que debería traducirse de una manera más general

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

Allí encontrará un archivo "Historial". Es un archivo SQLite3, y para manipularlo, Chrome debe cerrarse . Si lo hace mal, elimine el archivo Historial y comience de nuevo, es como si hubiera borrado todo el historial de Chrome.

Luego, cambie el nombre del archivo History.sqlite3e instale SQLiteMan (o cualquier otro editor de SQLite3; en Windows, hacer doble clic en el archivo puede ser suficiente para activar una sugerencia), luego abra el archivo (es posible que algunas utilidades no necesiten cambiar el nombre). intente sin renombrar primero, para ahorrar trabajo ).

En la tabla URLS, encontrará las URL que ha visitado. Por ejemplo, puedo ejecutar la consulta:

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

para ver todas las ocurrencias de 'reunión' en el host o en la parte de la ruta de acceso de las URL que visité. O podría buscar pr0n , o ... cualquier cosa, siempre y cuando cumpla con la sintaxis SQL .

Incluso puede usar la otra información para ejecutar la consulta, por ejemplo, la hora de la última visita. Solo recuerda que debes convertir las fechas a la hora de Chrome , que es la cantidad de microsegundos transcurridos desde el 1 de enero del año de nuestro Señor 1601 . En un cuadro de Unix, escribir date +%sle indicará la cantidad de segundos; multiplique por un millón, agregue 11644473600 y listo.

Por ejemplo, seleccione visitas después del 1 de octubre de 2013:

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

Para eliminar, simplemente reemplace SELECT *con DELETEy presione F9 para ejecutar la consulta.

Puede usar en NOW()lugar de la fecha actual y cualquier otra sintaxis SQLite .

(En el caso, el archivo "Historial de archivos" contiene el último historial archivado por Chrome).

Cuando haya terminado, si es necesario, cambie el nombre del archivo a "Historial".

Automatizándolo: desinfección con un clic

Necesita una utilidad SQLite de línea de comandos como sqlite3o sql3tool. Luego, escribe un script o archivo por lotes, modificando el código a continuación con las rutas apropiadas (no desea borrar mi historial dejando el suyo intacto, ¿verdad?):

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

Solo recuerda que esto borra tu historial en tu instancia de Chrome. Si, por ejemplo, usa un proxy y ese proxy mantiene registros, todas esas URL seguirán estando disponibles en los registros .

ACTUALIZACIÓN : Además, si está utilizando una herramienta SQL con muerte cerebral que requiere que el archivo tenga una extensión explícita y conocida, deberá realizar un RENAME apropiado antes de comenzar las operaciones, y otro para volver a poner las cosas en orden cuando ' hemos terminado:

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 todos modos, una vez hecho esto, haga doble clic en el icono del script y ¡listo! Su historial de Chrome se desinfecta . Funciona también con Firefox; Sin embargo, sus marcas de tiempo pueden estar en algún otro marco de referencia de tiempo (posiblemente Unix simple), así que verifique el agua antes de saltar.

¿Qué hay de limpiar las cookies?

Es posible que desee hacer lo mismo con las cookies en lugar de Historial.

Pero habrá notado, en el directorio de datos de Chrome, otros archivos que no son Historial, uno de los cuales se llama Cookies ... :-)

Cubierta avanzada de pistas

El truco SQL anterior no se limita a las eliminaciones. Puede modificar entradas con el UPDATEcomando; y después de eliminar entradas innecesarias , puede usar INSERTcon las macros de fecha y hora apropiadas para que Chrome crea que visitó algunas URL que realmente no visitó o que no visitó en algún momento y fecha.

Esto puede ser útil en esos casos cuando desinfectar una sesión del navegador resultaría en una imagen poco probable de alguien mirando fijamente una ventana vacía del navegador durante mucho tiempo, y es preferible algún tipo de navegación inactiva. Por supuesto, esto supone que nadie se da cuenta de que cada día hay exactamente la misma 'plantilla' de navegación .


El comando sería "BORRAR de URL ..."
Anwar

3

Al mantener presionada la tecla Mayús y hacer clic en la casilla de verificación de la primera URL y luego desplazarse hacia abajo hasta la última. Esto le dice a Google que seleccione todas las publicaciones intermedias. Luego presiona "eliminar" y el historial de Voila desapareció para esa URL específica


Bienvenido a SuperUser Meron. Si bien esto puede ser válido, duplica la información publicada en al menos otras dos respuestas.
bertieb

2

Para agregar al abanico de Fabricio PH, esto debería borrar todas las páginas de resultados para una búsqueda determinada en la página chrome: // history-frame cuando se pega en la consola de 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

Puede visitar chrome: // history o chrome: // history-frame. En la página puede comenzar a buscar y cuando se enumeren todos los resultados, simplemente presione CTRL + Apara seleccionar todos los elementos visibles. Presionándolo nuevamente anula la selección de todos los elementos.

Con los elementos seleccionados simplemente elimínelos mediante la DELtecla.


1

No, actualmente Chrome no lo admite.

Sin embargo, las extensiones pueden solicitar acceso a sus datos de historial. Por lo tanto, sería posible que una extensión satisfaga sus necesidades. No conozco esa extensión, pero una pequeña búsqueda me hizo encontrar esta:

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

Posiblemente esa extensión pueda hacer lo que usted solicite.


2
Esta respuesta está desactualizada - mira esta o esta
Garrulinae

No puedo borrarlo tampoco, lo siento
Steven Roose

Eso está bien, solo lo estoy señalando para futuros espectadores.
Garrulinae

Lo triste es que pierdo reputación por esto: p
Steven Roose

No se necesita extensión, verifique mi respuesta :)
Fabricio PH

1

Solo usa Chrome con la url: chrome: // history / # e = 1 & p = 0

Puede que tenga que copiarlo / pegarlo en su barra de URL.


1

En la barra de Chrome, intente buscar el elemento del historial que desea eliminar. Una vez que aparezca en los resultados, desplácese hacia abajo con las teclas de flecha (incluso si es el primer elemento de la lista) y presione Mayús + Eliminar.



1

Escriba la url que desea eliminar en la pestaña del historial como en la captura de pantalla siguiente, active la consola del desarrollador (mac: opt + cms + i) y seleccione el <iron-listelemento. Luego, active la consola js (esc) y escriba el siguiente código en la consola:

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

Debe seleccionar todos los elementos visibles. Haga clic en eliminar y repita hasta que la lista esté vacía o Chrome dé un error extraño.

pestaña historial


1

Puede abrir el menú de Chrome, luego pasar al historial, si necesita eliminar todas las visitas al sitio en particular para que coloque el nombre del dominio en el archivo requerido o presione tres puntos a la derecha del dominio requerido si encuentra manualmente y elija todas las entradas relacionadas con este dominio: presione limpiar historial. Quizás pueda encontrar más información relevante para su pregunta aquí rocketfiles.com


0

Use esta extensión en Google Chrome: Calendario de historial

Es exactamente lo que estaba buscando ... hace que la eliminación del historial, etc. Si tiene más de 2000 marcas de historial para sitios como amazon.com, el visor de historial de Google Chrome tomará años (vaya página por página), pero en la ventana de historial de Firefox (o usando la extensión de Chrome mencionada anteriormente), puede seleccionar todos los 2000 y eliminar en una ida


Muestra 404 en ese enlace
Anwar

0
  • abra chrome:historyy busque los sitios web que desea eliminar.
  • abre tu consola cromada con ctrl-shift-j.

  • si corresponde, asegúrese de que el menú desplegable justo encima de la consola lea history (history-frame)y no top,etc.

  • ejecuta el siguiente código en la consola:

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


0

Si el código de Fabricio no funciona para usted, descubrí que este código funciona y, además, hago clic en el botón "Eliminar seleccionados", así que lo único que tengo que hacer es hacer clic en el diálogo de confirmación.

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. Haga clic en la primera casilla de verificación.
  2. Desplácese hacia abajo hasta la parte inferior de la página.
  3. Mantenga presionada la tecla Mayús y haga clic en la última casilla de verificación.
  4. Todas las casillas serán seleccionadas; Desplácese hacia arriba, donde está presente el botón "Eliminar elementos seleccionados".
  5. Haga clic en el botón Los elementos seleccionados serán eliminados :)

Bienvenido a super usuario. ¡Sugeriría que preguntas como estas no son las mejores para responder! Otras respuestas ya tienen las opciones sobre cómo hacerlo, incluido su método.
Lister el

0

Use lo siguiente:

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

Póngalo en la consola del navegador Chrome en la página del MARCO del historial . No es historia regular, sino la historia MARCO . Luego, llame a la función removeItemsofQuerye ingrese el término que desea buscar y elimine como argumento. Presione enter y presione el botón de eliminación final. Entonces, ya terminaste. Felicidades.


0

Comience a escribir el término que desea buscar, cuando aparezca el término no deseado, use las flechas hacia arriba y hacia abajo para ir a ese término y presione Mayús + Eliminar.


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
Por favor explique (en palabras en inglés ) cómo responde esto a la pregunta.
G-Man

Vaya a chrome: // history, busque lo que desee, abra Chrome Console, copie y pegue el código anterior para seleccionar todo
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_()  

})();
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.