Google Chromeの特定のクエリに一致するすべてのウェブ履歴を削除するにはどうすればよいですか


77

Google Chromeでは、特定のクエリ(en.wikipedia.orgなど)に一致するすべての検索履歴を削除できますか?


Googleウェブ履歴から検索のすべてのアイテムを選択することができます。Googleウェブ履歴をChromeのウェブ履歴と同期させることは可能だろうか。
アンダーソングリーン

「Googleウェブ履歴のアップデーター」という拡張機能があります。この拡張機能により、Googleウェブ履歴をGoogle Chromeで使用できるようです。
アンダーソングリーン

3
@AndersonGreenあなたがする受け入れ答えアップデートしてくださいでしたsuperuser.com/a/791728/84229からをFabricio PH。それが元の正解です。現在受け入れられているのは、クレジットを帰属せずに正しい答えをコピーしただけです。これで、元のバージョンに戻りました。
ユーザー

3
@AndersonGreenあなたは正しい答えとしてPooyaを選ぶべきです、それはそれをする最も簡単で最速の方法です。さらに、Fabricioは自分の答えについて自己宣伝を行っていますが、これは完全ではありません。
ラザニアAndroid

すばやく作成するには、検索してから「ctrl + a」を
押して

回答:


60

2019年1月の更新

ChromeはキーボードショートカットCtrlAまたはA


元の答え

JavaScriptコードを挿入するハッカーショートカットを使用できます

手順1 Chromeの履歴はiFrame内でクエリされるため、次のURLにアクセスする必要があります: chrome:// history-frame /(URLのコピーと貼り付け)

ステップ2 検索クエリを実行します。

ステップ3 Chromeコンソール(F12またはCtrlShiftiまたは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 「ヒット削除選択した項目」ボタンを。

実際に、これは現在のページの要素を削除します。私はそれを拡張しようとするかもしれませんが、それは良い出発点です。私のブログの記事全体を読んでください。


3
これはもう機能していません。document.getElementsByTagName( 'input')は空の配列を返しています。
ディネッシュのygv

2
@FabricioPH「chrome:// history-frame」ではなく、chrome:// historyでスクリプトを実行したため、フレームワーク内でうまく機能しました。
dinesh ygv

2
これは素晴らしい!最初は別のタブでそれを実行しましたが、動作しませんでした(後知恵で、論理的に達成可能な理由です)。だから、chrome:// history-frameと同じタブでコンソールを再度開き、すべて動作しました。
ジェームソン

1
非常にきれいで簡単なソリューション
ダンボー

1
このソリューションは時代遅れです。単に「ctrl + a」を
押してください

126

それはシンプルで簡単です。

削除するものを検索します。最初のものを選択します。次に、最新の結果までスクロールします。shift最新のものを押して選択します。これで、すべての一致が選択され、一緒に削除できます。


場合によっては、履歴結果から住所を削除しても、その住所がURLバーの自動提案に表示されるのを停止するには不十分です。

その場合はこちらをご覧くださいhttps : //superuser.com/a/273280/121184



2
または、ハッカーのショートカットを取ることができます、以下の私の答えを参照してください;)
Fabricio PH

5
@AndersonGreenこれは、Fabricioの答えではなく、正しい答えです。
ラザニアアンドロイド

これは明らかではありません。テキストが選択されることを期待しています。
ディネッシュのygv

1
答えの一つのさらなるダウンあまりにも(私のコメントを配置した後のことを見つけた)ことをカバー
wuppi

15

以下のためのリテラル「クエリ」の値...

SQLを使用してChromeの履歴を照会することもできます。(Firefoxも:以下を参照してください。もちろん、適切なファイルパスを変更する必要があります)。

まず、Chrome履歴ファイルを見つける必要があります。これは、私のシステムでは

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で、ファイルをダブルクリックする可能性がある提案を誘発するのに十分では)、ファイル(開くNBいくつかのユーティリティの名前を変更することを必要としないかもしれないかもしれません。最初に名前を変更せずに、作業を保存してみてください)。

URLSテーブルには、アクセスしたURLがあります。たとえば、クエリを実行できます。

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

訪問したURLのホストまたはパス名のいずれかの部分で「ミートアップ」のすべての出現を表示します。または、SQL構文を順守している限り、pr0nなどを検索できます

他の情報、たとえば最後の訪問時刻などを使用してクエリを実行することもできます。日付をChromeの時刻に変換する必要があることだけを覚えておいてください。これは、主1601年の1月1日から経過したマイクロ秒数です。Unixボックスでは、入力date +%sすると秒数がわかります。100万を掛け、11644473600を追加すれば完了です。

たとえば、2013年10月1日以降の訪問を選択します。

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

削除するには、置換SELECT *DELETEてF9を押し、クエリを実行します。

NOW()現在の日付と他のSQLite構文の代わりに使用できます

(この場合、「アーカイブ履歴」ファイルには、Chromeによって最後にアーカイブされた履歴が保持されます)。

完了したら、必要に応じて、ファイルの名前を「履歴」に戻します。

自動化:ワンクリックサニタイズ

sqlite3またはなどのコマンドラインSQLiteユーティリティが必要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 ..."

これだけが消去されていることを覚えて、あなたの上の歴史を自分のクロームのインスタンス。たとえば、プロキシを使用し、そのプロキシがログを保持している場合、それらの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データディレクトリには、履歴以外のファイルがあり、そのうちの1つはCookiesという名前です... :-)

高度なトラックカバー

上記のSQLトリックは、削除に限定されません。UPDATEコマンドを使用してエントリを変更できます。不要なエントリを削除した後INSERT、適切な日時マクロを使用して、Chromeに実際にアクセスしなかった、または特定の日時にアクセスしなかったURLにアクセスしたと認識させることができます。

これは、ブラウザセッションをサニタイズすると、誰かが非常に長い時間空のブラウザウィンドウを凝視している可能性が低いため、何らかのアイドルナビゲーションが望ましい場合に役立ちます。もちろん、これは毎日同じナビゲーション 'template'があることに誰も気づかないことを前提としています。


コマンドは「URLから削除...」
Anwar

3

Shiftキーを押しながら最初のURLチェックボックスをクリックしてから、最後のURLまで下にスクロールします。これにより、間にあるすべての投稿を選択するようGoogleに指示します。次に「削除」をクリックすると、その特定のURLの履歴が消えます


SuperUser Meronへようこそ。これは有効かもしれませんが、少なくとも2つの他の回答に投稿された情報を複製します。
ベルティエブ

2

Fabricio PHのオーナに追加するには、devtoolsコンソールに貼り付けたときに、chrome:// history-frameページで特定の検索の結果のすべてのページをクリアする必要があります。

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またはchrome:// history-frameにアクセスできます。ページで検索を開始し、すべての結果がリストされたら、ヒットCTRL + Aして表示されているすべてのアイテムを選択します。もう一度押すと、すべてのアイテムの選択が解除されます。

選択したアイテムを使用して、DELキーを使用してそれらを削除します。


1

いいえ、これは現在Chrome自体ではサポートされていません。

ただし、拡張機能は履歴データへのアクセスをリクエストできます。したがって、拡張機能でニーズを満たすことができます。私はそのような拡張機能を自分では知りませんが、ちょっとした検索でこれを見つけました:

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

おそらくその拡張機能はあなたが要求したことをすることができます。


2
この答えは時代遅れである-を参照して、この1またはその1
Garrulinae

私もそれを削除することはできません、ごめんなさい
スティーブン・ルーズ

それは結構です-将来の視聴者のためにそれを指摘しているだけです。
Garrulinae

悲しいことに、私はこれに対する担当者を失います:p
スティーブンルース

拡張は必要ありません、私の答えを確認してください:)
Fabricio PH 14

1

次のURLでChromeを使用します:chrome:// history /#e = 1&p = 0

URLバーにコピーして貼り付ける必要がある場合があります。


1

Chromeバーで、削除する履歴アイテムを検索してみてください。結果に表示されたら、矢印キーを使用して下にスクロールし(リストの最初の項目であっても)、Shift + Deleteを押します。



1

下のスクリーンショットのように、削除するURLを履歴タブに入力し、開発者コンソール(mac:opt + cms + i)を切り替えて<iron-list要素を選択します。次に、jsコンソール(esc)を切り替えて、コンソールに次のコードを入力します。

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

すべての表示要素を選択する必要があります。[削除]をクリックし、リストが空になるか、クロムが奇妙なエラーを出すまで繰り返します。

履歴タブ


1

特定のサイトへのすべての訪問を削除する必要がある場合は、Chromeメニューを開いて履歴に移動し、必要なフィールドにドメインの名前を入力するか、見つかった場合は必要なドメインの右側にある3つのドットを押します手動でこのドメインに関連するすべての入力を選択します-クリーン履歴を押します。たぶん、あなたはここであなたの質問に関連する詳細な情報を見つけることができますrocketfiles.com


0

Google Chromeでこの拡張機能を使用: 履歴カレンダー

それはまさに私が探していたものです...それはFirefoxのように履歴を削除するなどを高速でスムーズにします。amazon.comなどのサイトに2000以上の履歴マークがある場合、Google Chrome履歴ビューアには時間がかかります(ページごとに移動します)が、Firefoxの履歴ウィンドウ(または上記のchrome extnを使用)では、2000をすべて選択して削除できます一気に


これは、そのリンク上で404を示している
アンワル

0
  • chrome:history削除するウェブサイトを開い て検索します。
  • でChromeコンソールを開きますctrl-shift-j

  • 該当する場合は、コンソールのすぐ上のドロップダウンが読み取りhistory (history-frame)などであるかどうかを確認してくださいtop,

  • コンソールで次のコードを実行します。

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


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
  1. 最初のチェックボックスをクリックします。
  2. ページの一番下までスクロールします。
  3. Shiftキーを押しながら、最後のチェックボックスをクリックします。
  4. すべてのチェックボックスが選択されます。[選択したアイテムを削除]ボタンがある上部までスクロールします。
  5. ボタンをクリックします。選択したアイテムは削除されます:)

スーパーユーザーへようこそ。このような質問に答えるのは最善ではないことをお勧めします!他の回答には、方法など、これを行う方法に関するオプションが既にあります。
リスター

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

履歴FRAMEページの1つをChromeブラウザコンソールに配置します。通常の履歴ではなく、履歴FRAME。次に、関数を呼び出し、removeItemsofQuery検索して削除する用語を引数として入力します。Enterキーを押して、最後の削除ボタンを押します。これで完了です。おめでとうございます。


0

検索する用語の作成を開始します。不要な用語が表示されたら、上下の矢印を使用してその用語に移動し、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()

1
(英語で説明してください言葉、これは質問に答える方法を)。
G-マン

chrome:// historyに移動し、必要なものを検索し、Chromeコンソールを開き、上記のコードをコピーして貼り付けてすべてを選択します
-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_()  

})();
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.