PhantomJS is a solution for headless testing of web-based applications, site scraping, page capture, svg renderer, pdf converter and many other use cases. Since it isn't actually a browser, it is very fast.
PhantomJS was released January 23, 2011 by Ariya Hidayat after several years in development.
CasperJS is another standalone framework that is built on top of PhantomJS (and runs in PhantomJS).
PhantomJS needs some kind of bridge to be used directly from within a node.js script. Popular bridges include phantom, node-phantom, nightmare (nightmare version <1.8 used PhantomJS, now it's Electron), Horseman, navit, phridge, node-phantom-simple, jquery.go.js, SpookyJS (wrapper around CasperJS, which is a wrapper around PhantomJS), x-ray (use in addition x-ray). Questions concerning those bridges should be tagged with node.js as well as phantomjs.