在Linux服务器上通过Nightmare.js在无头模式下运行Electron(Atom-Shell)

8
我正在构建一个爬虫程序,以便轻松地爬取JS单页应用程序。在使用PhantomJS时遇到了一些难以置信的挫败感(内存泄漏、过时的Webkit、不死进程等等问题),因此我决定切换到NightmareJS,它可以做同样的事情,但是在幕后使用Electron。Electron有很多优点(使用最新的Chromium,速度更快),但需要运行X服务器。由于我需要使其在Ubuntu服务器下工作,所以我按照this gist进行操作。现在我拥有一个完美的EC2实例,准备好运行一个无头的Electron。
xvfb-run electron

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

你最好在 GitHub 上的 Nightmare 问题跟踪器 中询问。迁移到 Electron 还比较新,我不知道开发人员是否经常访问 Stack Overflow。 - Artjom B.
1
这个Gist的链接已经失效了。我需要它... - Ivan Rubinson
1个回答

4

我不知道是否有更好的方法,但至少对于我的工作来说,可以使用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

1
当以这种方式运行时,多个Nightmare实例会工作吗? - rclai

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接