重构浏览器启动逻辑,优化连接设置,更新依赖项,增强功能和可读性

This commit is contained in:
2025-12-29 19:43:45 +08:00
parent 9067be1293
commit f15f6f14e4
11 changed files with 144 additions and 136 deletions

View File

@@ -1,45 +1,3 @@
import { spawn } from 'node:child_process';
import path from 'node:path';
import { main } from "./src/playwright/browser.ts";
export const main = async () => {
// Chrome 路径和配置
const executablePath = 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
// 使用独立的用户数据目录,避免与 Chrome 冲突
const userDataDir = path.join(process.cwd(), 'browser-context');
const debugPort = 9223;
console.log('启动 Chrome...');
console.log(`端口: ${debugPort}`);
console.log(`用户数据目录: ${userDataDir}`);
// console.log('注意:需要手动登录账号和安装插件');
// 启动 Chrome带远程调试端口
const chromeProcess = spawn(
executablePath,
[
`--remote-debugging-port=${debugPort}`,
`--user-data-dir=${userDataDir}`,
// '--kiosk', // 全屏模式,无修改边框
],
{
windowsHide: true, // 隐藏 CMD 窗口
detached: false,
stdio: ['ignore', 'ignore', 'ignore'],
},
);
chromeProcess.on('error', (err) => {
console.error('Chrome 启动失败:', err);
// 需要重新启动
});
chromeProcess.on('exit', (code, signal) => {
console.log(`Chrome 进程退出,代码: ${code}, 信号: ${signal}`);
if (code === 0) {
// 重启
main();
}
});
};
main();
await main()