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

如何在不运行Chrome浏览器的情况下使用Puppeteer?

在无Chrome界面(无头模式)下使用Puppeteer的正确配置

你应该是对Puppeteer的headless参数有点误解——headless: false其实是启动带界面的浏览器(会弹出Chrome窗口),而你要的「不显示浏览器界面却正常解析JS」恰恰是无头模式,对应配置是headless: true(Puppeteer 19+更推荐用headless: "new",兼容性更好)。你遇到的JS无法运行问题,大概率是VPS上缺少无头Chrome的系统依赖,或者启动参数配置不到位。

下面是一步步的解决方案:

1. 修正启动参数,启用正确的无头模式

把你的启动代码改成以下配置,确保JS执行默认开启,同时适配VPS环境:

const browser = await puppeteer.launch({
  // Puppeteer 19+推荐的新无头模式,功能更完整
  headless: "new",
  // 旧版本Puppeteer可以用headless: true
  // headless: true,
  args: [
    '--no-sandbox',          // VPS通常没有Chrome沙箱权限,必须禁用
    '--disable-setuid-sandbox',
    '--disable-dev-shm-usage', // 解决VPS共享内存不足的问题
    '--disable-gpu',         // 无头模式下不需要GPU加速
    '--window-size=1920,1080' // 模拟正常窗口尺寸,避免页面布局异常
  ]
});

2. 安装VPS上的系统依赖

无头Chrome需要很多底层系统库支持,如果你用的是Ubuntu/Debian系VPS,执行以下命令安装依赖:

sudo apt-get update
sudo apt-get install -y libx11-xcb1 libxcomposite1 libxcursor1 libxdamage1 libxi6 libxtst6 libnss3 libcups2 libxss1 libxrandr2 libasound2 libpangocairo-1.0-0 libatk1.0-0 libatk-bridge2.0-0 libgtk-3-0

如果是CentOS/RHEL系,用yum安装对应依赖:

sudo yum install -y libX11 libXcomposite libXcursor libXdamage libXext libXi libXtst cups-libs libXScrnSaver libXrandr alsa-lib pango atk at-spi2-atk gtk3

3. 验证JS是否正常执行

写一段简单的测试代码,确认页面JS渲染的内容是否被正确加载:

const page = await browser.newPage();
await page.goto('https://your-target-page.com'); // 替换成你要解析的页面
// 等待某个由JS加载的元素出现,确保页面渲染完成
await page.waitForSelector('.js-rendered-element');
// 获取渲染后的完整HTML
const renderedHtml = await page.content();
console.log(renderedHtml);
await browser.close();

如果输出的HTML包含JS动态加载的内容,说明配置成功了。

常见问题排查

  • 如果启动时报错「Failed to launch chrome」,先检查系统依赖是否安装完整,再确认--no-sandbox参数是否添加(VPS几乎都需要这个参数)。
  • 如果页面加载缓慢或渲染异常,添加--disable-dev-shm-usage可以避免共享内存不足的问题,--window-size参数能模拟正常浏览器窗口的布局逻辑。
  • 确保Puppeteer和Chrome版本兼容:Puppeteer会自动下载对应版本的Chrome,如果你手动安装了Chrome,需要在launch参数里用executablePath指定Chrome的安装路径。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.25 07:19:01