Google Chromeでは、特定のクエリ(en.wikipedia.orgなど)に一致するすべての検索履歴を削除できますか?
Fabricio PH
。それが元の正解です。現在受け入れられているのは、クレジットを帰属せずに正しい答えをコピーしただけです。これで、元のバージョンに戻りました。
Google Chromeでは、特定のクエリ(en.wikipedia.orgなど)に一致するすべての検索履歴を削除できますか?
Fabricio PH
。それが元の正解です。現在受け入れられているのは、クレジットを帰属せずに正しい答えをコピーしただけです。これで、元のバージョンに戻りました。
回答:
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 「ヒット削除選択した項目」ボタンを。
実際に、これは現在のページの要素を削除します。私はそれを拡張しようとするかもしれませんが、それは良い出発点です。私のブログの記事全体を読んでください。
それはシンプルで簡単です。
削除するものを検索します。最初のものを選択します。次に、最新の結果までスクロールします。shift最新のものを押して選択します。これで、すべての一致が選択され、一緒に削除できます。
場合によっては、履歴結果から住所を削除しても、その住所がURLバーの自動提案に表示されるのを停止するには不十分です。
その場合はこちらをご覧ください:https : //superuser.com/a/273280/121184
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'があることに誰も気づかないことを前提としています。
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);
いいえ、これは現在Chrome自体ではサポートされていません。
ただし、拡張機能は履歴データへのアクセスをリクエストできます。したがって、拡張機能でニーズを満たすことができます。私はそのような拡張機能を自分では知りませんが、ちょっとした検索でこれを見つけました:
https://chrome.google.com/webstore/detail/gjieilkfnnjoihjjonajndjldjoagffm
おそらくその拡張機能はあなたが要求したことをすることができます。
Chromeバーで、削除する履歴アイテムを検索してみてください。結果に表示されたら、矢印キーを使用して下にスクロールし(リストの最初の項目であっても)、Shift + Deleteを押します。
Googleからこのトピックに出くわした場合、複数のアイテムを簡単に削除する方法があります。
下のスクリーンショットのように、削除するURLを履歴タブに入力し、開発者コンソール(mac:opt + cms + i)を切り替えて<iron-list
要素を選択します。次に、jsコンソール(esc)を切り替えて、コンソールに次のコードを入力します。
$0.querySelectorAll('history-item').forEach(_ => _.root.querySelectorAll('cr-checkbox').forEach(_ => _.click()))
すべての表示要素を選択する必要があります。[削除]をクリックし、リストが空になるか、クロムが奇妙なエラーを出すまで繰り返します。
特定のサイトへのすべての訪問を削除する必要がある場合は、Chromeメニューを開いて履歴に移動し、必要なフィールドにドメインの名前を入力するか、見つかった場合は必要なドメインの右側にある3つのドットを押します手動でこのドメインに関連するすべての入力を選択します-クリーン履歴を押します。たぶん、あなたはここであなたの質問に関連する詳細な情報を見つけることができますrocketfiles.com
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()
以下を使用します。
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キーを押して、最後の削除ボタンを押します。これで完了です。おめでとうございます。
検索する用語の作成を開始します。不要な用語が表示されたら、上下の矢印を使用してその用語に移動し、Shift + Deleteを押します。
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()
// 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_()
})();