Created
June 29, 2024 07:18
-
-
Save innateessence/a613f73d898f8a74d0d946b77e6f8677 to your computer and use it in GitHub Desktop.
Colorize Walmart Small Order Fee [userscript]
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
// ==UserScript== | |
// @name Walmart Colorize Small Order Fee | |
// @namespace InnateEssense.wallmart-fee-colorizer | |
// @version 0.1 | |
// @description Automatically colors the minimum order fee red for order under $35 with a $7 fee. | |
// @author InnateEssense | |
// @license MIT | |
// @source TODO | |
// @match www.walmart.com/* | |
// @icon TODO | |
// @grant none | |
// ==/UserScript== | |
(async function() { | |
'use strict'; | |
const elemSelector = '#totalSummary > div:nth-child(3) > div.flex.flex-row.justify-between.items-center.f6.mid-gray.pt1 > span > label' | |
const colorizeElem = (elem) => { elem.style.color = 'red'; } | |
const colorizeParent = (elem) => { elem.parentElement.parentElement.style.color = 'red'; } | |
const sleep = time => new Promise((resolve) => setTimeout(resolve, time)); | |
// const error = (msg) => { console.error(msg); throw new Error(msg); } | |
const waitForElement = async selector => { | |
while (document.querySelector(selector) === null) { | |
console.debug(`[*] Waiting for ${selector}`) | |
await sleep(2000); | |
await new Promise(resolve => requestAnimationFrame(resolve)) | |
} | |
console.debug('[*] Element found') | |
return document.querySelector(selector); | |
}; | |
window.addEventListener('load', async function() { | |
while (true) { | |
const elem = await waitForElement(elemSelector); | |
if (elem.style.color === 'red') { | |
await sleep(10000) | |
continue; | |
} | |
await sleep(1000); | |
colorizeElem(elem); | |
colorizeParent(elem); | |
console.debug('[*] Colorized small order fee') | |
} | |
}) | |
})(); |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment