140 lines
3.2 KiB
Markdown
140 lines
3.2 KiB
Markdown
# 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-<revision>\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)
|