Skip to content

Instantly share code, notes, and snippets.

@larvata
Last active March 24, 2017 03:23
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save larvata/210e6ecfe900e588aac8 to your computer and use it in GitHub Desktop.
Save larvata/210e6ecfe900e588aac8 to your computer and use it in GitHub Desktop.
Student Portal Auto Login
// ==UserScript==
// @name Student Portal Auto Login
// @namespace http://your.homepage/
// @version 0.1
// @description enter something useful
// @author You
// @match http://localhost/login*
// @grant none
// ==/UserScript==
if(window.location.pathname.indexOf('/login') === -1){
return;
}
var userCertificate=[
{
uid: 'PAZ1234',
month: 5,
day: 6,
year: 1997
},
{
uid: 'CAT1234',
month: 5,
day: 7,
year: 1997
},
];
var container = document.getElementsByClassName('login-form')[0];
var eleAccessCode = document.getElementsByName('accesscode')[0];
var datapicker= document.getElementsByClassName('datepicker')[0].children;
var eleMonth = datapicker[0];
var eleDay = datapicker[1];
var eleYear = datapicker[2];
var loginBtn = document.getElementsByClassName('btn-primary')[0];
var autoLogin = function(){
var btn = this;
eleAccessCode.value = btn.dataset.uid;
eleMonth.value = btn.dataset.m-1;
eleMonth.dispatchEvent(new Event('change',{bubbles:true}));
eleDay.value = btn.dataset.d;
eleDay.dispatchEvent(new Event('change',{bubbles:true}));
eleYear.value = btn.dataset.y;
eleYear.dispatchEvent(new Event('change',{bubbles:true}));
loginBtn.click();
};
var loginBtns = userCertificate.map(function(u){
var btn = document.createElement('BUTTON');
var t = document.createTextNode(u.uid);
btn.className = 'btn btn-primary';
btn.appendChild(t);
btn.dataset.uid = u.uid;
btn.dataset.m = u.month;
btn.dataset.d = u.day;
btn.dataset.y = u.year;
btn.addEventListener('click',autoLogin);
return btn;
});
loginBtns.forEach(function(btn){
container.appendChild(btn);
});
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment