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

如何使用Puppeteer调用多个Chrome配置文件批量打开同一链接

你可以通过循环动态生成不同的profile参数,批量启动独立的Puppeteer实例实现需求,示例代码和注意事项如下:

const puppeteer = require('puppeteer');

// 自定义配置
const OPEN_INSTANCE_COUNT = 40; // 要打开的实例总数
const TARGET_LINK = 'https://google.com';
const CHROME_EXEC_PATH = 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe';
// 替换下方的<你的Windows用户名>为实际系统用户名
const CHROME_USER_DATA_PATH = 'C:\\Users\\<你的Windows用户名>\\AppData\\Local\\Google\\Chrome\\User Data\\';

const batchLaunch = async () => {
  for (let profileIndex = 1; profileIndex <= OPEN_INSTANCE_COUNT; profileIndex++) {
    try {
      const browser = await puppeteer.launch({
        executablePath: CHROME_EXEC_PATH,
        headless: false, // 如需后台无窗口运行改为true
        args: [
          `--user-data-dir=${CHROME_USER_DATA_PATH}`,
          `--profile-directory=Profile ${profileIndex}`
        ]
      });
      const page = await browser.newPage();
      await page.goto(TARGET_LINK);
      console.log(`第${profileIndex}个实例启动成功,使用配置文件Profile ${profileIndex}`);

      // 如不需要保留窗口,取消下方注释即可自动关闭
      // await browser.close();

      // 启动间隔,避免短时间占用过高系统资源,可自行调整
      await new Promise(resolve => setTimeout(resolve, 800));
    } catch (error) {
      console.error(`第${profileIndex}个实例启动失败:`, error.message);
    }
  }
};

batchLaunch();

注意事项

  • 启动前先关闭所有正在运行的Chrome窗口,否则Chrome会锁定用户数据目录,导致新实例无法读取对应配置
  • 如需要复用已有的配置文件,调整循环的起始编号和你本地已有的Profile编号对应即可,不存在的配置文件Chrome会自动创建
  • 启动数量超过50个时,建议把间隔时间调整到1000ms以上,避免CPU、内存占用过高导致系统卡顿
  • Puppeteer会自动分配不同的远程调试端口,无需手动指定,不会出现端口冲突问题

内容的提问来源于stack exchange,提问作者Nicolás Schilling Bouffanais

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.08 10:51:03