Denis_maker
@Denis_maker
✔ Инженер-программист. Веду весь спектр разработки

Почему скомпилированное приложение в nwjs не видит puppeteer?

Моё приложение - это бот написанный на node js + puppeteer
Теперь я сделал управляющий интерфейс в nwjs (windows). Всё это отлично работает во время тестирования. После компилирования моё приложение запускается, я вижу интерфейс, но при запуске бота (запуск браузера) возникает ошибка - он не видит chromium:
Error: Could not find expected browser (chrome) locally. Run `npm install` to download the correct Chromium revision (901912).

Я пробовал прописать путь к браузеру, это не помогло. Например:
const puppeteer = require('puppeteer');
// ========================== //
browser = await puppeteer.launch({
      executablePath: '.\\node_modules\\puppeteer\\.local-chromium\\win64-901912\\chrome-win\\chrome.exe',
      headless: true,
      args: [
        '--no-sandbox'
      ]
    });

Что сделать, чтобы мой скомпилированный код мог работать с puppeteer?
  • Вопрос задан
  • 266 просмотров
Решения вопроса 1
Denis_maker
@Denis_maker Автор вопроса
✔ Инженер-программист. Веду весь спектр разработки
Решение такое: я вынес папку с браузером в другое место:
из "C:\ . . . \node_modules\puppeteer\.local-chromium\win64-818858\chrome-win"
сюда: "C:\chrome-win"
А в коде прописываю:
browser = await puppeteer.launch({
      executablePath: 'C:\chrome-win',
      headless: true,
      args: [
        '--no-sandbox'
      ]
   });

В этом случае скомпилированное приложение видит браузер и отлично с ним работает. После этого недоразумения попробовал electron - там всё по умолчанию заработало и работает всё по ощущениям шустрее как-то. Теперь рекомендую его:
https://www.electronjs.org/
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы