# Playwright 浏览器版本信息 本文档记录 ERPAuto 当前使用的 Playwright 版本,以及代码中采用的浏览器目录约定。 ## 当前版本 根据 [package.json](/d:/FileLib/Projects/CodeMigration/ERPAuto/package.json),项目当前依赖为: | 组件 | 当前版本 | | --- | --- | | `playwright` | `^1.58.2` | | `playwright-core` | `^1.58.2` | | `@playwright/test` | `^1.58.2` | ## 当前代码中的目录约定 根据 [src/main/index.ts](/d:/FileLib/Projects/CodeMigration/ERPAuto/src/main/index.ts),应用启动时会把: ```text PLAYWRIGHT_BROWSERS_PATH = %APPDATA%\erpauto\ms-playwright ``` 随后按以下顺序检查 Chromium: 1. 优先检查: ```text %APPDATA%\erpauto\ms-playwright\chromium-1208\chrome-win64\chrome.exe ``` 2. 兼容旧结构: ```text %APPDATA%\erpauto\ms-playwright\chromium-win32\chrome.exe ``` 3. 如果仍然找不到,则继续扫描任意 `chromium-*` 目录,并尝试: ```text %APPDATA%\erpauto\ms-playwright\chromium-\chrome-win64\chrome.exe ``` 这意味着: - `chromium-1208` 是当前代码优先查找的默认 revision - 但应用并不只接受 `1208` - 当前主目录结构是 `chrome-win64` ## 推荐目录结构 ### Windows 开发环境 ```text C:\Users\<用户名>\AppData\Local\ms-playwright\ └── chromium-1208/ └── chrome-win64/ ├── chrome.exe └── ... ``` ### 目标部署环境 ```text %APPDATA%\erpauto\ms-playwright\ └── chromium-1208/ └── chrome-win64/ ├── chrome.exe └── ... ``` 如果不是 `1208`,只要目录名满足 `chromium-*` 且内部存在 `chrome-win64\chrome.exe`,当前代码也能识别。 ## 使用建议 ### 开发环境准备 1. 安装项目依赖: ```bash npm install ``` 2. 下载 Chromium 浏览器: ```bash npx playwright install chromium ``` ### 复制浏览器文件 1. 在开发机上找到 Playwright 浏览器缓存目录: ```text C:\Users\<用户名>\AppData\Local\ms-playwright\ ``` 2. 复制完整的 `chromium-*` 目录到目标路径: ```text %APPDATA%\erpauto\ms-playwright\ ``` 3. 确保内部存在: ```text chrome-win64\chrome.exe ``` ## 注意事项 - ERPAuto 当前只依赖 Chromium,不需要 Firefox 和 WebKit - 浏览器文件体积较大,建议按整个 revision 目录复制 - 当前代码会优先尝试 `chromium-1208` - 但从实现角度看,“revision 严格等于 1208”不是唯一成功条件 - 真正关键的是目录结构与可执行文件路径满足当前查找规则 ## 故障排查 ### 浏览器无法启动 优先检查: 1. `%APPDATA%\erpauto\ms-playwright\` 是否存在 2. 是否存在 `chromium-1208\chrome-win64\chrome.exe` 3. 是否存在其他 `chromium-*` 目录,且包含 `chrome-win64\chrome.exe` 4. 是否误用了过时的 `chrome-win\chrome.exe` 路径 ### 版本不匹配或路径不匹配 建议同时确认: - `package.json` 中的 Playwright 版本 - 目标机器上实际部署的 Chromium 目录 - 当前目录结构是否为 `chrome-win64\chrome.exe` - 应用启动时是否能在 `%APPDATA%\erpauto\ms-playwright\` 下扫描到有效 revision ## 相关文档 - [PLAYWRIGHT_DEPLOYMENT.md](./PLAYWRIGHT_DEPLOYMENT.md)