Можно ли в Google Chrome удалить всю историю поиска, которая соответствует определенному запросу (например, en.wikipedia.org)?
17 ответов
Это просто и легко.
Ищите то, что вы хотите удалить. Выберите первый. Теперь перейдите к последнему результату. Нажмите shift и выберите самый последний. Теперь все совпадения выбраны, и вы можете удалить их вместе.
В некоторых случаях удаление адреса из результатов истории недостаточно для того, чтобы этот адрес не появлялся в подсказках по автоматическому отображению панели URL.
В этом случае посетите здесь: https://superuser.com/a/273280/121184
Обновление январь 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 Нажмите кнопку « Удалить выбранные элементы ».
На самом деле это удаляет элементы на текущей странице. Я мог бы попытаться расширить его, но это хорошая отправная точка. Читайте полную статью в моем блоге.
Для буквальных значений "запроса" ...
Вы даже можете запросить историю 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-адреса, которые вы на самом деле не посещали или не посещали в какой-то момент времени и даты.
Это может пригодиться в тех случаях, когда дезинфекция сеанса браузера может привести к тому, что маловероятно, что кто-то смотрит застекленным взглядом на пустое окно браузера в течение очень долгого времени, и предпочтительна какая-то неработающая навигация. Конечно, это предполагает, что никто не замечает, что каждый день существует один и тот же навигационный «шаблон».
Удерживая клавишу Shift и нажав на первый флажок URL, а затем прокрутите вниз до последнего. Это говорит Google, чтобы выбрать все сообщения между ними. Затем вы нажимаете "удалить", и история вуаля исчезла для этого конкретного URL.
Вы можете посетить chrome://history или chrome://history-frame.
На странице вы можете начать поиск и, когда все результаты перечислены, просто нажмите CTRL + A
чтобы выбрать все видимые элементы. Повторное нажатие отменяет выбор всех элементов.
С выбранными элементами просто удалите их с помощью клавиши DEL
.
Чтобы добавить в 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);
Если вы столкнулись с этой темой из Google, есть более простой способ удалить несколько элементов сейчас.
- Перейдите на https://myactivity.google.com/myactivity?product=6.
- Искать что-то
- Нажмите на меню из 3 точек в окне поиска
- Нажмите "Удалить все"
- ???
- прибыль
В панели Chrome попробуйте найти элемент истории, который вы хотите удалить. Как только он появится в результатах, прокрутите его вниз с помощью клавиш со стрелками (даже если это первый элемент в списке) и нажмите Shift + Delete.
Нет, это в настоящее время не поддерживается самим Chrome.
Тем не менее, расширения могут запрашивать доступ к вашим данным истории. Таким образом, было бы возможно расширение для удовлетворения ваших потребностей. Я не знаю такого расширения самостоятельно, но небольшой поиск заставил меня найти это:
https://chrome.google.com/webstore/detail/gjieilkfnnjoihjjonajndjldjoagffm
Возможно, это расширение может делать то, что вы просите.
Просто используйте Chrome с URL: chrome://history/# e = 1 & p = 0
Возможно, вам придется скопировать / вставить его в свой URL-бар.
Начните писать термин, который вы хотите найти, когда появится нежелательный термин, используйте стрелки вверх и вниз для перехода к этому термину и нажмите Shift + Delete.
Используйте следующее:
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
и введите термин, который вы хотите найти, и удалите его в качестве аргумента. Нажмите ввод и нажмите кнопку окончательного удаления. Затем вы сделали. Поздравляю.
Если код 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()
Используйте это расширение в Google Chrome:календарь истории
Это именно то, что я искал ... это делает удаление истории и т.д., как Firefox, т.е. быстро и гладко. Если у вас есть более 2000 отметок истории для таких сайтов, как amazon.com, просмотрщик истории Google Chrome будет возрастать (переходить на страницу за страницей), но в окне истории Firefox (или с использованием вышеупомянутой Chrome Extn) вы можете выбрать все 2000 и удалить на одном дыхании
- Открыть
chrome:history
и поиск веб-сайтов, которые вы хотите удалить. Откройте консоль Chrome с помощью
ctrl-shift-j
.если применимо, убедитесь, что в выпадающем меню прямо над консолью читается
history (history-frame)
а неtop,
т. д.- запустите следующий код в консоли:
$$('input[type=checkbox]').forEach(el => el.checked = true);
$("remove-selected").disabled = false;
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()
- Нажмите на первый флажок.
- Прокрутите вниз до нижней части страницы.
- Удерживайте Shift и нажмите на последний флажок.
- Все флажки будут выбраны; Прокрутите вверх, где присутствует кнопка "Удалить выбранные элементы".
- Нажмите на кнопку. Выбранные элементы будут удалены :)