Skip to content

Instantly share code, notes, and snippets.

@ohjann
Forked from cahalane/vaxxi.js
Last active July 15, 2021 13:34
Show Gist options
  • Save ohjann/456f9dd51e39c7c5b284dfd239b658e0 to your computer and use it in GitHub Desktop.
Save ohjann/456f9dd51e39c7c5b284dfd239b658e0 to your computer and use it in GitHub Desktop.
vaxxi with notifs
const notifier = require("node-notifier");
const puppeteer = require("puppeteer");
const p = {};
const setup = async () => {
const browser = await puppeteer.launch();
p.browser = browser;
return browser;
};
let lastDate = "";
function run() {
return new Promise(async (resolve, reject) => {
try {
const browser = p.browser || (await setup());
const page = await browser.newPage();
await page.goto(
"https://vaccine3.hse.ie/s/login/SelfRegister?language=en_US",
{ waitUntil: "networkidle0" }
);
await page.waitForSelector(".cCustomRegisterForm2");
const maxDob = await page.evaluate(() => {
return window.$A.get("$Label.c.Citizen_MaxYearOfBirth");
});
await page.close();
setTimeout(
() =>
run()
.then(console.log)
.catch(console.error),
60000
);
if (maxDob !== lastDate) {
lastDate = maxDob;
notifier.notify(
{
title: "New date",
message: lastDate,
sound: true,
wait: true,
open: "https://vaccine3.hse.ie/s/login/SelfRegister?language=en_US"
},
() => {}
);
}
return resolve(maxDob);
} catch (e) {
setTimeout(
() =>
run()
.then(console.log)
.catch(console.error),
60000
);
return reject(e);
}
});
}
run()
.then(console.log)
.catch(console.error);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment