为了文字“查询”的值...

为了文字“查询”的值...

在 Google Chrome 中,是否可以删除与特定查询(例如 en.wikipedia.org)匹配的所有搜索历史记录?

答案1

2019 年 1 月更新

现在 Chrome 支持键盘快捷键CtrlAA


原始答案

你可以走黑客捷径注入 JavaScript 代码

步骤1 由于 Chrome 历史记录是在 iFrame 内查询的,因此我们必须访问: chrome://history-frame/(复制并粘贴网址)

第2步 进行搜索查询。

步骤3 打开 Chrome 控制台(F12CtrlShiftii)并执行:

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 打 '删除所选项目' 按钮。

实际上,这会删除当前页面中的元素。我可能会尝试扩展它,但这是一个很好的起点。

答案2

这很简单又容易。

搜索要删除的内容。选择第一个。现在滚动到最新结果。按下shift并选择最新的一个。现在所有匹配项都已选中,您可以一起删除它们。


在某些情况下,从历史结果中删除地址不足以阻止该地址出现在 URL 栏自动建议中。

在这种情况下请访问此处:https://superuser.com/a/273280/121184

答案3

为了文字“查询”的值...

您甚至可以使用 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 中,双击文件可能足以触发建议),然后打开文件(注意:有些实用程序可能不需要重命名。也许可以先尝试不重命名,以节省工作量)。

在 URLS 表中,您将找到您访问过的 URL。例如,我可以运行查询:

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

查看我访问的 URL 的主机或路径名部分中所有出现的“meetup”。或者我可以搜索pr0n, 或者...任何事情,只要我遵守 SQL 语法

您甚至可以使用其他信息来运行查询,例如上次访问的时间。只需记住您需要将日期转换为Chrome 时间,即从1601 年 1 月 1 日在 Unix 机器上,输入后date +%s会告诉你秒数;乘以一百万,再加上 11644473600 就完成了。

例如,选择 2013 年 10 月 1 日以后的访问:

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

要删除,只需替换SELECT *并按DELETEF9 执行查询。

您可以使用NOW()当前日期,以及任何其他SQLite 语法

(在这种情况下,“存档历史记录”文件保存着 Chrome 存档的最后一段历史记录)。

完成后,如果需要,将文件重命名为“历史记录”。

自动化:一键清理

您需要一个命令行 SQLite 实用程序,例如sqlite3sql3tool。然后编写脚本或批处理文件,使用适当的路径修改下面的代码(您不想清除我的历史不会影响你的,是吗?):

# 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,或者在某个时间和日期并未访问过。

在某些情况下,清理浏览器会话会导致出现意想不到的画面,即某人长时间呆呆地盯着空浏览器窗口,而某种空闲导航是更好的选择,这时这种方法可能会派上用场。当然,这假设没有人注意到每天有完全相同的导航“模板”

答案4

按住 Shift 并单击第一个 URL 复选框,然后向下滚动到最后一个。这会告诉 Google 选择中间的所有帖子。然后点击“删除”,然后该特定 URL 的历史记录就消失了

相关内容