新增通用的浏览器自动化扩展插件

This commit is contained in:
zyj
2025-11-21 14:09:59 +08:00
parent 87a077d40c
commit b448227d3e
17 changed files with 2156 additions and 2 deletions

View File

@@ -0,0 +1,124 @@
# Chrome 扩展加载诊断
## 问题:扩展目录正确但未加载
### 已确认正确的信息:
- ✅ 扩展目录: D:\Project\go-account-register\expand\general-auto
- ✅ manifest.json 存在
- ✅ Chrome 路径正确
### 可能的原因和解决方案
#### 1. 用户数据目录冲突
**问题**: 每次使用随机临时目录可能导致扩展状态丢失
**解决方案**: 使用固定的用户数据目录测试
```go
userDataDir := "user-data/test-with-extension" // 固定目录
```
#### 2. Chrome 启动参数问题
某些参数组合可能导致扩展加载失败。
**测试步骤**:
1. 手动在命令行启动 Chrome 测试扩展加载:
```powershell
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
```
2. 如果手动启动成功,说明是参数组合问题
#### 3. manifest.json 兼容性
**当前 manifest.json 可能的问题**:
- Service Worker 可能需要额外配置
- 权限设置可能有冲突
**测试方案**: 临时使用更简单的 manifest
```bash
# 重命名当前 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**
```powershell
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 日志**
启动时添加日志参数:
```go
Set("enable-logging", "stderr").
Set("v", "1")
```
**步骤 4: 检查扩展文件权限**
确保所有文件可读:
```powershell
icacls "D:\Project\go-account-register\expand\general-auto" /t
```
### 临时解决方案
如果自动加载持续失败,可以:
1. **手动预加载扩展到用户数据目录**
```go
// 在程序启动前,将扩展复制到用户数据目录
extensionDir := filepath.Join(absPath, "Default", "Extensions", "general-auto")
os.MkdirAll(extensionDir, 0755)
// 复制扩展文件...
```
2. **使用打包的 .crx 文件**
```powershell
# 打包扩展
chrome --pack-extension="D:\Project\go-account-register\expand\general-auto"
```
3. **不使用扩展,直接注入脚本**
```go
page.MustEvalOnNewDocument(`
// 直接注入你的自动化代码
window.GeneralAuto = { ... };
`)
```
### 下一步行动
请尝试:
1. 运行程序后,手动访问 `chrome://extensions/` 截图
2. 尝试手动加载扩展,看是否有错误信息
3. 使用简化版 manifest 测试
如果还是不行,请提供:
- `chrome://extensions/` 的截图
- 控制台是否有任何错误信息
- 手动加载时的错误提示(如果有)