You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Node.js使用open包打开多Chrome配置文件异常问题

解决Chrome不同配置文件独立打开链接的问题

你的代码存在几个关键问题,导致链接始终在同一配置文件的标签页打开:

  • Windows路径中的反斜杠未转义:C:\Program Files\... 里的\会被Node.js解析为转义字符,必须写成\\才能正确识别路径。
  • 参数里的HTML实体"是多余的,直接用普通引号包裹配置文件名即可(适配名称含空格的情况)。
  • 缺少--new-window参数:Chrome默认会尝试复用已有窗口,即使是不同配置文件,添加该参数可强制启动独立的新窗口。

修正后的代码如下:

const opn = require('open');

// 打开Default配置文件的独立窗口
opn('https://www.google.com', {
  app: [
    'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
    '--profile-directory="Default"',
    '--new-window'
  ]
});

// 打开Profile 2配置文件的独立窗口
opn('https://www.snipes.com', {
  app: [
    'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
    '--profile-directory="Profile 2"',
    '--new-window'
  ]
});

如果遇到进程启动冲突导致的异常,可以通过异步延迟确保顺序执行:

const opn = require('open');

async function openProfiles() {
  await opn('https://www.google.com', {
    app: [
      'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
      '--profile-directory="Default"',
      '--new-window'
    ]
  });
  // 延迟1秒避免进程冲突
  await new Promise(resolve => setTimeout(resolve, 1000));
  await opn('https://www.snipes.com', {
    app: [
      'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe',
      '--profile-directory="Profile 2"',
      '--new-window'
    ]
  });
}

openProfiles();

修改后,两个链接会分别在Chrome的Default和Profile 2配置文件窗口中独立打开。

内容的提问来源于stack exchange,提问作者Ghost

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.06 21:01:05