Безголовый запуск электрона (атомной оболочки) на сервере Linux через Nightmare.js

Я создаю парсер, чтобы упростить сканирование одностраничных приложений JS.

После некоторого невероятного разочарования в PhantomJS (утечки памяти, устаревший webkit, нежить-процессы и многие другие проблемы) я решил перейти на NightmareJS, который может делать то же самое, но использует Электрон под капотом. Electron имеет много преимуществ (использует последний хром, работает намного быстрее), но для работы ему нужен X-сервер.

Поскольку мне нужно, чтобы он работал на сервере Ubuntu, я следовал этой сути. Теперь у меня есть отличный инстанс EC2, в котором все готово для запуска безголового электрона.

xvfb-run electron

Дело в том, что мне нужно запустить это через кошмарJS (который я буду использовать в скрипте сервера node.js). Мне было интересно, как я могу передать параметры в кошмар, чтобы запустить электрон через svfb


person Rayjax    schedule 16.09.2015    source источник
comment
Вероятно, вам следует задать этот вопрос в системе отслеживания ошибок Nightmare на GitHub. Переход на электрон довольно новый, и я не знаю, часто ли разработчики переполняют стек.   -  person Artjom B.    schedule 16.09.2015
comment
Ссылка на суть битая. Мне нужно это...   -  person Ivan Rubinson    schedule 30.04.2017


Ответы (1)


Я не знаю, есть ли лучший способ, но, по крайней мере, для моих работ запускайте основной процесс с помощью команды xvfb-run:

$ xvfb-run node --harmony simple-service.js
Worker 12153 is online
Worker 12155 is online
Worker 12154 is online
Worker 12156 is online
person Marco Salgado    schedule 09.11.2015
comment
Будут ли работать несколько экземпляров Nightmare при таком запуске? - person rclai; 15.03.2016