function waitForElement(selector, fallbackSelector) { "use strict"; return new Promise((resolve, reject) => { if (document.querySelector(selector)) { return resolve(document.querySelector(selector)); } const observer = new MutationObserver((mutations) => { if (document.querySelector(selector)) { resolve(document.querySelector(selector)); observer.disconnect(); } else if (fallbackSelector && document.querySelector(fallbackSelector)) { reject("Fallback selector triggered."); observer.disconnect(); } }); observer.observe(document.body, { childList: true, subtree: true, }); }); }