运行 electron (atom-shell) 通过 Nightmare.js 在 linux 服务器上无头

Running electron (atom-shell) headlessly on linux server through Nightmare.js

我正在构建一个抓取工具,使 JS 单页应用程序易于抓取。

在对 PhantomJS 感到难以置信的 挫折之后(内存泄漏、过时的 webkit、不死进程,以及许多其他问题),我决定在后台切换到 NightmareJS which can do the same things but uses Electron。 Electron 有很多优势(使用 最新的 chromium,速度快很多)但它需要一个 X 服务器才能 运行.

因为我需要让它在 ubuntu 服务器下工作,所以我遵循了 this gist 。现在我有一个很棒的 EC2 实例,一切准备就绪 运行 headless electron

xvfb-run electron

重点是我需要通过 nightmareJS(我将在 node.js 服务器脚本中使用它)运行。我想知道如何 将参数传递给 nightmare 以便通过 svfb

启动电子

我不知道是否有更好的方法,但至少对于我的作品运行主进程使用xvfb-运行命令:

$ xvfb-run node --harmony simple-service.js
Worker 12153 is online
Worker 12155 is online
Worker 12154 is online
Worker 12156 is online