Настройка исполняемого пути Puppeteer

для Chrome в Linux, Windows и macOS

Puppeteer – это мощная библиотека Node.js, предоставляющая высокоуровневый API для программного управления автономными браузерами Chrome или Chromium. По умолчанию Puppeteer автоматически загружает совместимую версию Chrome или Chromium. Однако в некоторых случаях вам может потребоваться указать путь к исполняемому файлу Chrome вручную. В этой статье мы рассмотрим различные способы настройки executablePathдля Puppeteer в операционных системах Linux, Windows и macOS.

Метод 1: указание executablePathнапрямую

const puppeteer = require('puppeteer');
(async () => {
  const browser = await puppeteer.launch({
    executablePath: '/path/to/chrome',
  });
  // Rest of the code
})();

Метод 2: использование переменной среды PUPPETEER_EXECUTABLE_PATH

const puppeteer = require('puppeteer');
process.env.PUPPETEER_EXECUTABLE_PATH = '/path/to/chrome';
(async () => {
  const browser = await puppeteer.launch();
  // Rest of the code
})();

Метод 3: Условная установка executablePathв зависимости от операционной системы

const puppeteer = require('puppeteer');
const os = require('os');
let executablePath;
switch (os.platform()) {
  case 'linux':
    executablePath = '/path/to/chrome/linux';
    break;
  case 'win32':
    executablePath = 'C:\\path\\to\\chrome\\windows\\chrome.exe';
    break;
  case 'darwin':
    executablePath = '/path/to/chrome/mac/Chromium.app/Contents/MacOS/Chromium';
    break;
}
(async () => {
  const browser = await puppeteer.launch({
    executablePath,
  });
  // Rest of the code
})();

Метод 4. Использование файла конфигурации
Создайте файл конфигурации JSON или YAML для хранения executablePathна основе операционной системы и загрузите его в свой код.

Пример файла конфигурации (config.json):

{
  "linux": "/path/to/chrome/linux",
  "win32": "C:\\path\\to\\chrome\\windows\\chrome.exe",
  "darwin": "/path/to/chrome/mac/Chromium.app/Contents/MacOS/Chromium"
}
const puppeteer = require('puppeteer');
const fs = require('fs');
const config = JSON.parse(fs.readFileSync('config.json'));
(async () => {
  const browser = await puppeteer.launch({
    executablePath: config[os.platform()],
  });
  // Rest of the code
})();

Настроить executablePathPuppeteer для Chrome в Linux, Windows и macOS можно различными способами. Вы можете указать путь непосредственно в коде, использовать переменные среды, условно задать путь в зависимости от операционной системы или использовать файл конфигурации. Выберите метод, который соответствует вашим требованиям и платформе. С помощью этих методов вы можете легко интегрировать Puppeteer с браузером Chrome в разных операционных системах.

для Chrome в Linux, Windows и macOS: подробное руководство