x-ray-nightmare
Nightmare (electron based) driver for the x-ray web scraper.
This is an alternative to the x-ray-phantom driver created by x-ray author @matthewmueller.
Installation
npm install x-ray-nightmare
Usage
var NightmareElectron = ;var Xray = ; // instantiate driver for later shutdownvar nightmareDriver = ; var x = ; { if err return ; assert; // gracefully shutdown driver ; ;}
API
NightmareElectron([options|fn], [fn])
Initialize the NightmareElectron driver with options
being passed to Nightmare and
an optional custom fn
with the signature function(ctx,nightmare)
.
Returns the driver object which must be called as a function once when no longer needed in order to gracefully shut down the nightmare object (results in a call to the Nightmare .end() function)
Options
Options that can be passed to nightmare are documented here.
Optional function
By default, a simple page visit by using Nightmare to the URL specified is executed
// Assume that a nightmare object is instantiated with// options as (if) specified// var Nightmare = require('nightmare');// var nightmare = new Nightmare(options); nightmare;
A custom function to, lets say, take a screenshot and save the file, would replace this simple Nightmare call with this:
// take a screenshot before passing output to x-ray { nightmare ;} // alternate instantiation of xvar x = ;
Note that the page html is passed off to x-ray and nightmare.end()
is executed by the driver, so there is no need to add this to your custom function.
Test
npm install
npm install -only=dev
#run mocha on test.js file
Debug Flags
All x-ray-nightmare messages:
DEBUG=x-ray:nightmare*
License
MIT