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

Windows系统下如何让Puppeteer浏览器后台运行不抢占焦点?

Windows下Puppeteer避免浏览器抢占焦点的解决方案

方案1:启用新版无头模式(完全后台运行)

如果不需要可视化浏览器窗口,直接使用Puppeteer的新版无头模式,彻底避免窗口弹出和焦点抢占,代码示例:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: "new", // 启用功能完整的新版无头模式
    // 若需自定义浏览器路径,添加executablePath参数
    // executablePath: 'C:\\Program Files\\Google\\Chrome\\Application\\chrome.exe'
  });
  const page = await browser.newPage();
  await page.goto('目标网站地址');
  
  // 此处编写你的数值检查逻辑
  
  await browser.close();
})();

方案2:有头模式下禁止焦点抢占(保留浏览器窗口但不激活)

如果必须保留浏览器窗口但不想让它抢占系统焦点,通过添加启动参数实现:

const puppeteer = require('puppeteer');

(async () => {
  const browser = await puppeteer.launch({
    headless: false,
    args: [
      '--no-focus-on-tab-switch', // 切换标签/启动时不获取系统焦点
      '--start-minimized', // 启动时窗口最小化,彻底避免干扰
      '--disable-features=TranslateUI' // 可选,关闭不必要的UI组件
    ]
  });
  const page = await browser.newPage();
  await page.goto('目标网站地址');
  
  // 此处编写你的数值检查逻辑
  
  // 若需后续操作窗口,可调用page.setViewport调整大小,窗口仍保持后台状态
})();

关于Windows下找不到.local-chromium文件夹的说明

Puppeteer在Windows下的默认Chromium存储路径为node_modules\puppeteer\.local-chromium\winXXXXXX\chrome-win\chrome.exe(XXXXXX为版本号),但不建议修改本地Chromium的配置文件——一来路径随版本更新会变化,二来启动参数的方式更灵活且无需修改文件。如果你的项目使用系统安装的Chrome而非Puppeteer自带Chromium,只需在launch配置中指定executablePath到Chrome的安装路径即可,上述启动参数同样生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.17 15:55:08