3.3 KiB
3.3 KiB
Chrome 扩展加载诊断
问题:扩展目录正确但未加载
已确认正确的信息:
- ✅ 扩展目录: D:\Project\go-account-register\expand\general-auto
- ✅ manifest.json 存在
- ✅ Chrome 路径正确
可能的原因和解决方案
1. 用户数据目录冲突
问题: 每次使用随机临时目录可能导致扩展状态丢失
解决方案: 使用固定的用户数据目录测试
userDataDir := "user-data/test-with-extension" // 固定目录
2. Chrome 启动参数问题
某些参数组合可能导致扩展加载失败。
测试步骤:
- 手动在命令行启动 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
- 如果手动启动成功,说明是参数组合问题
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 可能有扩展策略限制
检查:
- 访问
chrome://policy/ - 查看是否有 ExtensionInstallBlacklist 或类似策略
推荐的调试步骤
步骤 1: 手动加载测试
- 打开 Chrome (不通过程序)
- 访问
chrome://extensions/ - 启用"开发者模式"
- 点击"加载已解压的扩展程序"
- 选择
D:\Project\go-account-register\expand\general-auto - 看是否有错误提示
步骤 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
临时解决方案
如果自动加载持续失败,可以:
- 手动预加载扩展到用户数据目录
// 在程序启动前,将扩展复制到用户数据目录
extensionDir := filepath.Join(absPath, "Default", "Extensions", "general-auto")
os.MkdirAll(extensionDir, 0755)
// 复制扩展文件...
- 使用打包的 .crx 文件
# 打包扩展
chrome --pack-extension="D:\Project\go-account-register\expand\general-auto"
- 不使用扩展,直接注入脚本
page.MustEvalOnNewDocument(`
// 直接注入你的自动化代码
window.GeneralAuto = { ... };
`)
下一步行动
请尝试:
- 运行程序后,手动访问
chrome://extensions/截图 - 尝试手动加载扩展,看是否有错误信息
- 使用简化版 manifest 测试
如果还是不行,请提供:
chrome://extensions/的截图- 控制台是否有任何错误信息
- 手动加载时的错误提示(如果有)