You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Magister-Auto-Login/js/login.js

69 lines
1.8 KiB

const d = document.getElementById.bind(document);
const q = document.querySelector.bind(document);
// user object moet gemaakt worden vanuit chrome.storage.sync
var snooze = ms => new Promise(res => setTimeout(res, ms));
function login() {
chrome.storage.sync.get(['school','number', 'password'], async function (result) {
if (d("scholenkiezer_value")) {
await waitForSel("#scholenkiezer_value");
if (d("scholenkiezer_value") && result.number) {
d("scholenkiezer_value").value = result.school;
d("scholenkiezer_value").dispatchEvent(new Event("input"));
};
await waitForSel(".selected");
if (q(".selected")) {
q(".selected").click();
}
}
await waitForSel("#username");
if (d("username") && result.number) {
d("username").value = result.number;
d("username").dispatchEvent(new Event("input"));
};
await waitForSel("#username_submit")
if (d("username_submit")) {
d("username_submit").click();
};
await waitForSel("#rswp_password")
if (d("rswp_password") && result.password) {
d("rswp_password").value = result.password;
d("rswp_password").dispatchEvent(new Event("input"));
};
await waitForSel("[id*=_submit]")
if (d("rswp_submit")) {
d("rswp_submit").click();
};
});
}
function waitForSel(s) {
return new Promise(res => {
setInterval(() => {
if (q(s)) {
res()
}
}, 10);
});
};
chrome.storage.sync.get(['enabled'], function (result){
if(result.enabled){
login();
};
});