On May 29, 2021 I learned

  • Browser Extensions
  • Puppeteer doesn’t work with internal firefox extensions properly
  • You can get Firefox’s internal extension UUID by calling getInstalledAddon(addonId) via remote protocol.
const extensionRunner = await webExt.cmd.run({
    firefox: revisionInfo.executablePath,
    sourceDir: path.resolve(__dirname, '../../src'),
    args: [ '--remote-debugging-port', cdpPort],
    noReload: true,
    keepProfileChanges: false
}, { shouldExitProgram: false });
const desktopRunner = extensionRunner.extensionRunners[0];
const extension = await desktopRunner.remoteFirefox.getInstalledAddon(EXTENSION_ID);
const internalExtensionId = getInternalExtensionIdFromManifestURL(extension.manifestURL);