UNPKG

docparse-scraper-nst

Version:

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

39 lines (36 loc) 1.58 kB
var inspect = require('eyespect').inspector(); var atHomepage = require('./atAccountHomepage'); var username, password; module.exports = function(data, cb) { var bro = data.bro; var currentLogin = data.currentLogin; if (!currentLogin.username) { return cb('failed to login, "username" field missing from data.currentLogin'); } if (!currentLogin.password) { return cb('failed to login, "password" field missing from data.currentLogin'); } var usernameField = bro.querySelector(":input[name=username]"); var passwordField = bro.querySelector(":input[name=password]"); var submitField = bro.button("Login"); if (!submitField) { return cb('login failed, submit button not found on page'); } // var output = { // username: data.currentLogin.username, // currentLoginIndex: data.currentLoginIndex, // numLogins: data.numLogins // } // inspect({username: data.currentLogin.username}, 'submitting login form'); inspect({user: data.currentLogin.username}, 'submitting login form'); bro. fill(":input[name=username]", currentLogin.username). fill(":input[name=password]", currentLogin.password). pressButton('Login', function () { var result = atHomepage(data.bro); inspect(result, 'at account homepage after login?'); if (result) { return cb(); } bro.pressButton('Login', function () { var result = atHomepage(data.bro); inspect(result, 'at account homepage after login?'); if (result) { return cb(); } return cb('not at account homepage when we should be'); }); }); };