chromium 内核浏览器刷新扩展列表

文档说明: 仅仅记录关键点方;2023-04-18

缘由:

用 shell 脚本批量更新扩展
更新方法是:替换整个文件夹;
更新完毕,扩展功能并不会生效还需逐个刷新扩展

环境要求:

chromium 内核浏览器 版本 > 87
打开页面: chrome://extensions/ 的控制台
web控制台执行下面的脚本即可

扩展管理页面,启用开发者模式

//扩展列表启用开发模式
let dev_mode_button = document
    .querySelector('extensions-manager')
    .shadowRoot
    .querySelector('extensions-toolbar')
    .shadowRoot
    .querySelector('cr-toggle#devMode')
if (dev_mode_button.getAttribute('aria-pressed') !== 'true') {
    dev_mode_button.click()
}

刷新所有已经启用的扩展


document
    .querySelector('extensions-manager')
    .shadowRoot
    .querySelector('extensions-item-list')
    .shadowRoot
    .querySelectorAll('extensions-item').forEach((element, key, arr) => {
    let e = element.shadowRoot
    let card = e.querySelector('#card')
    console.log(card)
    console.log(card.classList)
    if (Array.from(card.classList).includes('enabled')) {
        console.log(
            e.querySelector('#extension-id').innerText,
            e.querySelector('#name').innerText,
            e.querySelector('#description').innerText,
            e.querySelector('#dev-reload-button'),
        )
        e.querySelector('#dev-reload-button').click()
    }
})


posted @ 2023-04-18 23:51  jingjingxyk  阅读(73)  评论(0编辑  收藏  举报