Files
go-account-register/expand/general-auto/TROUBLESHOOT.md

3.3 KiB

Chrome 扩展加载诊断

问题:扩展目录正确但未加载

已确认正确的信息:

  • 扩展目录: D:\Project\go-account-register\expand\general-auto
  • manifest.json 存在
  • Chrome 路径正确

可能的原因和解决方案

1. 用户数据目录冲突

问题: 每次使用随机临时目录可能导致扩展状态丢失

解决方案: 使用固定的用户数据目录测试

userDataDir := "user-data/test-with-extension"  // 固定目录

2. Chrome 启动参数问题

某些参数组合可能导致扩展加载失败。

测试步骤:

  1. 手动在命令行启动 Chrome 测试扩展加载:
cd "C:\Program Files\Google\Chrome\Application"
.\chrome.exe --user-data-dir="D:\Project\go-account-register\user-data\test" --load-extension="D:\Project\go-account-register\expand\general-auto" --no-sandbox
  1. 如果手动启动成功,说明是参数组合问题

3. manifest.json 兼容性

当前 manifest.json 可能的问题:

  • Service Worker 可能需要额外配置
  • 权限设置可能有冲突

测试方案: 临时使用更简单的 manifest

# 重命名当前 manifest
cd D:\Project\go-account-register\expand\general-auto
rename manifest.json manifest-full.json
rename manifest-simple.json manifest.json

4. 扩展 ID 和路径大小写

Windows 系统路径大小写敏感性问题

验证: 确保路径没有大小写混用

5. Chrome 策略限制

企业版 Chrome 可能有扩展策略限制

检查:

  1. 访问 chrome://policy/
  2. 查看是否有 ExtensionInstallBlacklist 或类似策略

推荐的调试步骤

步骤 1: 手动加载测试

  1. 打开 Chrome (不通过程序)
  2. 访问 chrome://extensions/
  3. 启用"开发者模式"
  4. 点击"加载已解压的扩展程序"
  5. 选择 D:\Project\go-account-register\expand\general-auto
  6. 看是否有错误提示

步骤 2: 使用简化版 manifest

cd D:\Project\go-account-register\expand\general-auto
Copy-Item manifest.json manifest-backup.json
Copy-Item manifest-simple.json manifest.json

然后重新运行程序

步骤 3: 查看 Chrome 日志 启动时添加日志参数:

Set("enable-logging", "stderr").
Set("v", "1")

步骤 4: 检查扩展文件权限 确保所有文件可读:

icacls "D:\Project\go-account-register\expand\general-auto" /t

临时解决方案

如果自动加载持续失败,可以:

  1. 手动预加载扩展到用户数据目录
// 在程序启动前,将扩展复制到用户数据目录
extensionDir := filepath.Join(absPath, "Default", "Extensions", "general-auto")
os.MkdirAll(extensionDir, 0755)
// 复制扩展文件...
  1. 使用打包的 .crx 文件
# 打包扩展
chrome --pack-extension="D:\Project\go-account-register\expand\general-auto"
  1. 不使用扩展,直接注入脚本
page.MustEvalOnNewDocument(`
  // 直接注入你的自动化代码
  window.GeneralAuto = { ... };
`)

下一步行动

请尝试:

  1. 运行程序后,手动访问 chrome://extensions/ 截图
  2. 尝试手动加载扩展,看是否有错误信息
  3. 使用简化版 manifest 测试

如果还是不行,请提供:

  • chrome://extensions/ 的截图
  • 控制台是否有任何错误信息
  • 手动加载时的错误提示(如果有)