UNPKG

docparse-scraper-nst

Version:

Node Zombie based scraper to scrape bills from the NStar (supplier code "NST)" website

43 lines (41 loc) 1.51 kB
var rk = require('required-keys'); var inspect = require('eyespect').inspector(); var atPrintFriendlyPage = require('./atPrintFriendlyPage'); module.exports = function(data, cb) { var keys = ['billDateString', 'billNumber', 'bro', 'config']; rk.truthy(data, keys, function (err, reply) { var config = data.config; if (config.get('verbose')) { inspect('going to print friendly page'); inspect(data.billNumber, 'bill number'); inspect(data.billDateString, 'bill date'); } var bro = data.bro; var currentLogin = data.currentLogin; var selector = 'a[href*="/ebill/bill/print-friendly.do"]'; var link = bro.querySelector(selector); if (!link) { return cb('error selecting print friendly bill, link with text "Print-Friendly Bill" not found on page'); } bro.clickLink(selector, function (err, reply) { // bro.visit('https://nstar.com/ebill/bill/print-friendly.do', function (err, reply) { if (err) { inspect(err, 'error loading print friendly page'); } var atPage = atPrintFriendlyPage(data); if (atPage) { return cb(); } bro.visit('https://nstar.com/ebill/bill/print-friendly.do', function (err, reply) { if (err) { inspect(err, 'error loading print friendly page'); } var atPage = atPrintFriendlyPage(data); if (atPage) { return cb(); } return cb('failed to get to print friendly page'); }); }); }); };