Last active
December 16, 2024 06:08
-
-
Save azagniotov/210c31540712c10206484d5297616842 to your computer and use it in GitHub Desktop.
Downloads all pay-slips from ADP website
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* | |
This has been tested in Chrome v55.0.2883.95 (64-bit) | |
1. Log into ADP website using the URL: https://my.adp.com/static/redbox/login.html (Make sure you are NOT in Incognito mode) | |
2. Open Developer Tools console | |
3. Run the following code in the console: | |
*/ | |
var xhr = new XMLHttpRequest(); | |
xhr.open('GET', 'https://my.adp.com/v1_0/O/A/payStatements?adjustments=yes&numberoflastpaydates=300'); | |
xhr.setRequestHeader("Access-Control-Allow-Origin", "*"); // CORS policy | |
xhr.onload = function() { | |
if (xhr.status === 200) { | |
var rawData = JSON.parse(xhr.responseText); | |
for (var index = rawData.payStatements.length - 1; index >= 0; --index) { | |
var entry = rawData.payStatements[index]; | |
var url = "https://my.adp.com" + entry.statementImageUri.href.substring(3); | |
var a = document.createElement('a'); | |
var trueIndex = (rawData.payStatements.length - index); | |
if (trueIndex < 10) { | |
trueIndex = "00" + trueIndex; | |
} else if (trueIndex < 100) { | |
trueIndex = "0" + trueIndex; | |
} | |
a.download = "payslip.no." + trueIndex + ".from." + entry.payDate + ".pdf"; | |
a.href = url; | |
document.body.appendChild(a); | |
a.click(); | |
delete a; | |
} | |
} else { | |
console.log('Request failed. Returned status of ' + xhr.status); | |
} | |
}; | |
xhr.send(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
This is great. Thank you to all who have developed this code. I used the version by @corymayer using Firefox 133.0 on Windows 11 without any modifications except for inserting the OID.