【问题标题】:Manipulating Google Chrome bookmarks from external program (and make Chrome aware)?从外部程序操作 Google Chrome 书签(并让 Chrome 感知)?
【发布时间】:2023-03-13 22:18:01
【问题描述】:

外部程序是否有任何记录方式来操作 Google Chrome 书签?

书签存储在用户数据\默认目录中的“书签”文件中,对我来说看起来像 JSON 或其他东西(现在不重要。)

但是,我有什么方法可以通知 Chrome 文件已更改?

注意:这是针对 Windows 的,我正在寻找一种以编程方式让 Chrome 了解我的更改的方法。

我尝试了以下方法:

  1. 手动编辑文件
  2. 重启 Chrome

更改是存在的,但在我重新启动 Chrome 之前,Chrome 并不知道我的更改,并且我强烈假设如果我在重新启动之前在 Chrome 中编辑书签,外部更改就会丢失。

那么,我有办法做到这一点吗?还是我只需要通知用户不幸的是我必须关闭他的 Chrome 安装,编辑书签文件,然后重新启动 Chrome?

代码最终将用 C# 编写,但除非您拥有/知道执行此操作的代码,否则执行此操作的方法可能与语言/运行时无关。

另请注意,我目前想要自动化的事情列表是:

  1. 为某些特定书签创建一个文件夹
  2. 删除该文件夹中的现有书签
  3. 向该文件夹添加新书签

该程序的目的是自动设置我们制作的 Web 应用程序的本地副本,支持/测试人员可以在其中运行程序,选择要设置的程序版本以及将其连接到哪个数据库,以及然后程序自动化一切。我希望这个程序也能轻松访问应用程序。

【问题讨论】:

  • 平台/操作系统重要吗?
  • 嗯,是的,这是在 Windows 上,让我编辑问题。
  • @Boris 因为重要的部分是我内部开发的一个程序创建了我们制作的一些 Web 应用程序的本地副本,用于测试目的,我想自动为测试人员创建书签。我最终只支持 IE,因为它将书签作为文件存储在磁盘上。
  • 对于企业部署,正在进行通过策略控制书签的工作,这肯定比操纵 Chrome 的磁盘表示更可靠。 crbug.com/49598 包含详细信息;如果您想要更新,请加注星标。

标签: google-chrome bookmarks


【解决方案1】:

%LOCALAPPDATA%\Google\Chrome\User Data\Default\Bookmarks 文件受写入错误校验和保护。谷歌浏览器将此文件备份为Bookmarks.bak。因此,如果Bookmarks 文件损坏,Google Chome 会使用备份文件来恢复书签。

校验和操作有点棘手。你可以看看source(因为 Chromium 项目是开源的)。似乎 Chrome 对每个书签都进行了 MD5 计算:

  • id
  • title
  • folder
  • url

所以您可以查看this source code 进行进一步调查。

但我不建议这样做。 Google 可能会更改此格式,恕不另行通知,您的软件会遇到不兼容问题。最好写个谷歌浏览器扩展,和你的桌面软件互操作。

【讨论】:

    猜你喜欢
    • 2011-02-08
    • 2017-10-20
    • 2015-10-14
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 2023-03-08
    相关资源
    最近更新 更多