获取已安装的 chrome 扩展列表

Gre*_*lin 28 google-chrome google-chrome-extensions

我正在调试一个对用户不起作用的 Web 应用程序,我的一个怀疑是安装的 Chrome 扩展程序正在干扰它。用户是否有一种简单的方法可以向我提供他们已安装扩展的列表?chrome://extensions是一种可能性,但除了手动复制每个名称之外,提取我需要的信息并不容易。

小智 36

转到 chrome://system 并单击“扩展”行右侧的展开按钮。这提供了所有扩展名的逗号排序列表。您可以拖动并突出显示要复制的列表。

这也有好处,因为它会列出活动扩展,因为可以排除已安装但已停用的扩展。对于完整列表,让他们激活他们拥有的所有扩展,刷新 chrome://system 页面并复制现在更新的列表。

  • @EricHepperle-CodeSlayer2010 这是因为扩展项被放置在 Web 组件内的影子根中。这意味着 DOM 树内部存在多个独立的 DOM 树,它们有自己的样式和脚本。以下是使用 `querySelectorAll` 的代码(导航到影子 DOM,然后搜索要查找的下一个元素): `[...document.querySelector('body > extensions-manager').shadowRoot.querySelector('cr -view-manager > 扩展项列表').shadowRoot.querySelectorAll('扩展项')].map(item => item.getAttribute('id'))`。 (3认同)
  • @SaianshSingh 感谢您的解释和代码!我厌倦了快速发展的技术。2016年我毕业的时候我们还没有了解到“shadowRoot”。 (2认同)

Dav*_*ill 8

用户是否有一种简单的方法可以向我提供已安装扩展的列表?

您可以使用BrowserAddonsViewNirsoft

BrowserAddonsView 是一个简单的工具,可以显示系统中安装的所有 Web 浏览器插件/插件的详细信息。BrowserAddonsView 可以扫描和检测最流行的 Web 浏览器的插件:Chrome、Firefox 和 Internet Explorer。对于 Chrome 和 Firefox,如果有多个配置文件,BrowserAddonsView 会检测并扫描所有 Web 浏览器配置文件。

您可以按“Web 浏览器”对输出进行排序,然后选择 Chrome 扩展程序。

在此处输入图片说明

然后:

  1. “文件”>“保存选定的项目”以导出到文本文件,或

  2. “查看”>“HTML 报告 - 所选项目”

以下是我的 Chrome 文本文件的摘录:

> type extensions.txt
==================================================
Item ID           : cfhdojbkjhnklbpkdaibdccddilifddb
Status            : Enabled
Web Browser       : Chrome
Addon Type        : Extension
Name              : Adblock Plus
Version           : 1.12.4
Description       : Used by over 50 million people, a free ad blocker that blocks ALL annoying ads, malware and tracking.
Title             : Adblock Plus
Creator           :
Install Time      : 10/11/2016 11:20:33
Update Time       :
Homepage URL      :
Update URL        : https://clients2.google.com/service/update2/crx
Source URL        :
Addon Filename    : C:\Users\DavidPostill\AppData\Local\Google\Chrome\User Data\Default\Extensions\cfhdojbkjhnklbpkdaibdccddilifddb\1.12.4_0\manifest.json
Addon File Created Time: 10/11/2016 11:20:31
Addon File Modified Time: 10/11/2016 11:20:32
Size              :
Profile Folder    : C:\Users\DavidPostill\AppData\Local\Google\Chrome\User Data\Default
==================================================
Run Code Online (Sandbox Code Playgroud)

用户可以通过电子邮件向您发送此文本文件。


免责声明

我与Nirsoft没有任何关联,我只是他们软件的最终用户。

  • IMO 这既是最简单也是最好的路线。除了这个小型免费软件程序的简单(便携式)安装之外,只需选择最重要的列(例如名称、状态、Web 浏览器、版本、描述),然后另存为(我最喜欢 CSV 格式,因为它可以打开在任何电子表格/等中,然后粘贴到任何文本文档中。具有使用多个浏览器的好处,显示哪些是活动的/禁用的,以及其他项目,如日期、大小、文件夹等。如果需要。真正优雅和全面的解决方案应该利用。 (2认同)
  • Nirsoft 也仅适用于 Windows。对 Mac 用户没有帮助。 (2认同)

小智 6

chrome://extensions您可以通过转到控制台并输入以下内容来复制所有扩展程序及其 URL 的 JSON 列表:

document.querySelector('extensions-manager').extensions_.map(({id, name, state, webStoreUrl}) => ({id, name, state, webStoreUrl}))
Run Code Online (Sandbox Code Playgroud)

或者如果您想将 JSON 直接复制到剪贴板,您可以添加copy

copy(document.querySelector('extensions-manager').extensions_.map(({id, name, state, webStoreUrl}) => ({id, name, state, webStoreUrl})))
Run Code Online (Sandbox Code Playgroud)

结果将是一个 JSON 数组:

[
    {
        "id": "fmkadmapgofadopljbjfkapdkoienihi",
        "name": "React Developer Tools",
        "state": "ENABLED",
        "webStoreUrl": "https://chrome.google.com/webstore/detail/fmkadmapgofadopljbjfkapdkoienihi"
    },
    {
        "id": "lmhkpmbekcpmknklioeibfkpmmfibljd",
        "name": "Redux DevTools",
        "state": "ENABLED",
        "webStoreUrl": "https://chrome.google.com/webstore/detail/lmhkpmbekcpmknklioeibfkpmmfibljd"
    }
]
Run Code Online (Sandbox Code Playgroud)