var loadMoreCoachesAttempts = 0; var loadMoreButtonSelector = '#main-app-content-container > div > ui-view > promote-container > div > div > div > div:nth-child(1) > promote-recipient-select > div > div.promote-recipient-select-pager.ng-scope > button'; function waitForElementToDisplay(selector, time) { if (document.querySelector(selector) != null) { document.querySelector(selector).click(); setTimeout(function() { waitForElementToDisplay(selector, time); }, 500); } else { if (loadMoreCoachesAttempts === 3) { addCoaches(); return console.log('loaded and selected all coaches or internet issue encountered'); } loadMoreCoachesAttempts++; setTimeout(function() { waitForElementToDisplay(selector, time); }, time); } } function getElementsByText(str, tag = 'a') { return Array.prototype.slice.call(document.getElementsByTagName(tag)).filter(el => el.textContent.trim() === str.trim()); } function addCoaches() { var addButtons = getElementsByText('Add', 'button'); for (var i = 0; i <= addButtons.length - 1; i++) { addButtons[i].click(); } } waitForElementToDisplay(loadMoreButtonSelector, 1000);