67

Можно ли в Google Chrome удалить всю историю поиска, которая соответствует определенному запросу (например, en.wikipedia.org)?

17 ответов17

123

Это просто и легко.

Ищите то, что вы хотите удалить. Выберите первый. Теперь перейдите к последнему результату. Нажмите shift и выберите самый последний. Теперь все совпадения выбраны, и вы можете удалить их вместе.


В некоторых случаях удаление адреса из результатов истории недостаточно для того, чтобы этот адрес не появлялся в подсказках по автоматическому отображению панели URL.

В этом случае посетите здесь: https://superuser.com/a/273280/121184

44

Обновление январь 2019

Теперь Chrome поддерживает сочетание клавиш Ctrl A или A


Оригинальный ответ

Вы можете воспользоваться хакерским ярлыком, вставляющим код JavaScript.

Шаг 1 Поскольку история Chrome запрашивается внутри iFrame, мы должны посетить:chrome://history-frame/ (скопировать и вставить URL)

Шаг 2 Выполните поисковый запрос.

Шаг 3 Откройте консоль Chrome (F12 или CTRL + SHIFT + I или ⌘ ⌥ я) и выполнить:

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

Шаг 4 Нажмите кнопку « Удалить выбранные элементы ».

На самом деле это удаляет элементы на текущей странице. Я мог бы попытаться расширить его, но это хорошая отправная точка. Читайте полную статью в моем блоге.

15

Для буквальных значений "запроса" ...

Вы даже можете запросить историю Chrome, используя SQL. (Firefox тоже: см. Ниже. Конечно, необходимо изменить соответствующий путь к файлу).

Прежде всего, вам нужно найти файл Chrome History. Это в моей системе, в

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

который должен переводить в более общем

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

Там вы найдете файл "История". Это файл SQLite3, и чтобы манипулировать им, Chrome должен быть закрыт. Если вы все испортили, удалите файл истории и начните заново - все равно, что вы очистили всю историю Chrome.

Затем переименуйте файл в History.sqlite3 и установите SQLiteMan (или любой другой редактор SQLite3 - в Windows двойного щелчка по файлу может быть достаточно, чтобы вызвать предложение), затем откройте файл (хотя некоторые утилиты могут не нуждаться в переименовании вещь.Возможно, попробуйте сначала без переименования, чтобы сохранить работу).

В таблице URLS вы найдете посещенные вами URL. Например, я могу выполнить запрос:

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

чтобы просмотреть все вхождения 'meetup' в части хоста или пути к URL-адресам, которые я посетил. Или я мог бы искать pr0n, или ... что угодно, если я придерживаюсь синтаксиса SQL.

Вы даже можете использовать другую информацию для запуска запроса, например, время последнего посещения. Только помните, что вам нужно преобразовать даты в время Chrome, которое является числом микросекунд, прошедших с 1 января, года нашего Господа 1601 года. В Unix-поле, набрав date +%s , сообщит вам количество секунд; умножьте на миллион, добавьте 11644473600, и все готово.

Например, выберите посещения после 1 октября 2013 года:

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

Чтобы удалить, просто замените SELECT * на DELETE и нажмите F9, чтобы выполнить запрос.

Вы можете использовать NOW() вместо текущей даты и любой другой синтаксис SQLite.

(В этом случае файл "История архива" содержит последнюю историю, заархивированную Chrome).

Когда вы закончите, при необходимости переименуйте файл обратно в "History".

Автоматизация: санация в один клик

Вам нужна командная строка SQLite утилита , такая , как sqlite3 или sql3tool Затем вы пишете скрипт или пакетный файл, изменяя код ниже соответствующими путями (вы не хотите очистить мою историю, оставив вашу нетронутой, не так ли?):

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

Только помните, что это стирает вашу историю на вашем экземпляре Chrome. Если, например, вы используете прокси-сервер, и этот прокси-сервер ведет журналы, все эти URL-адреса будут по-прежнему доступны в журналах.

ОБНОВЛЕНИЕ: Кроме того, если вы используете какой-то мозговой инструмент SQL, для которого требуется, чтобы файл имел явное и известное расширение, вам придется выполнить соответствующее RENAME перед началом операций, а другое - чтобы все было по порядку, когда вы ' мы закончили:

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"

В любом случае, как только это будет сделано, дважды щелкните по значку скрипта и нажмите «Привет!», Ваша история Chrome очищена. Это работает и с Firefox; однако его временные метки могут быть в какой-то другой системе отсчета времени (возможно, в простом Unix), поэтому проверьте воду, прежде чем прыгать.

Как насчет очистки куки?

Возможно, вы захотите сделать то же самое с файлами cookie вместо истории.

Но вы заметили в каталоге данных Chrome другие файлы, кроме History, один из которых называется Cookies... :-)

Усовершенствованное покрытие треков

Вышеприведенный трюк SQL не ограничивается удалением. Вы можете изменить записи с помощью команды UPDATE ; и после удаления ненужных записей вы можете использовать INSERT с подходящими макросами даты и времени, чтобы Chrome считал, что вы посетили некоторые URL-адреса, которые вы на самом деле не посещали или не посещали в какой-то момент времени и даты.

Это может пригодиться в тех случаях, когда дезинфекция сеанса браузера может привести к тому, что маловероятно, что кто-то смотрит застекленным взглядом на пустое окно браузера в течение очень долгого времени, и предпочтительна какая-то неработающая навигация. Конечно, это предполагает, что никто не замечает, что каждый день существует один и тот же навигационный «шаблон».

3

Удерживая клавишу Shift и нажав на первый флажок URL, а затем прокрутите вниз до последнего. Это говорит Google, чтобы выбрать все сообщения между ними. Затем вы нажимаете "удалить", и история вуаля исчезла для этого конкретного URL.

2

Вы можете посетить chrome://history или chrome://history-frame. На странице вы можете начать поиск и, когда все результаты перечислены, просто нажмите CTRL + A чтобы выбрать все видимые элементы. Повторное нажатие отменяет выбор всех элементов.

С выбранными элементами просто удалите их с помощью клавиши DEL .

2

Чтобы добавить в awnser Fabricio PH, необходимо очистить все страницы результатов для данного поиска на странице chrome://history-frame при вставке в консоль 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);
1

Если вы столкнулись с этой темой из Google, есть более простой способ удалить несколько элементов сейчас.

1

В панели Chrome попробуйте найти элемент истории, который вы хотите удалить. Как только он появится в результатах, прокрутите его вниз с помощью клавиш со стрелками (даже если это первый элемент в списке) и нажмите Shift + Delete.

1

Нет, это в настоящее время не поддерживается самим Chrome.

Тем не менее, расширения могут запрашивать доступ к вашим данным истории. Таким образом, было бы возможно расширение для удовлетворения ваших потребностей. Я не знаю такого расширения самостоятельно, но небольшой поиск заставил меня найти это:

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

Возможно, это расширение может делать то, что вы просите.

1

Просто используйте Chrome с URL: chrome://history/# e = 1 & p = 0

Возможно, вам придется скопировать / вставить его в свой URL-бар.

0

Начните писать термин, который вы хотите найти, когда появится нежелательный термин, используйте стрелки вверх и вниз для перехода к этому термину и нажмите Shift + Delete.

0

Используйте следующее:

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

Поместите его в консоль браузера Chrome на странице истории FRAME. Не обычная история, а история FRAME. Затем вызовите функцию removeItemsofQuery и введите термин, который вы хотите найти, и удалите его в качестве аргумента. Нажмите ввод и нажмите кнопку окончательного удаления. Затем вы сделали. Поздравляю.

0

Если код Fabricio не работает для вас, я обнаружил, что этот код работает, и дополнительно нажимаю кнопку "удалить выбранные" для меня, поэтому единственное, что мне нужно сделать, - это нажать диалоговое окно подтверждения.

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

Используйте это расширение в Google Chrome:календарь истории

Это именно то, что я искал ... это делает удаление истории и т.д., как Firefox, т.е. быстро и гладко. Если у вас есть более 2000 отметок истории для таких сайтов, как amazon.com, просмотрщик истории Google Chrome будет возрастать (переходить на страницу за страницей), но в окне истории Firefox (или с использованием вышеупомянутой Chrome Extn) вы можете выбрать все 2000 и удалить на одном дыхании

0
  • Открыть chrome:history и поиск веб-сайтов, которые вы хотите удалить.
  • Откройте консоль Chrome с помощью ctrl-shift-j .

  • если применимо, убедитесь, что в выпадающем меню прямо над консолью читается history (history-frame) а не top, т. д.

  • запустите следующий код в консоли:

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

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()
0
  1. Нажмите на первый флажок.
  2. Прокрутите вниз до нижней части страницы.
  3. Удерживайте Shift и нажмите на последний флажок.
  4. Все флажки будут выбраны; Прокрутите вверх, где присутствует кнопка "Удалить выбранные элементы".
  5. Нажмите на кнопку. Выбранные элементы будут удалены :)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .