Just change your code a bit.
I assume you have such HTML?
<div id="BtnText">Hello!</div><input type="submit" value="Click!">
You change your code to this
var findMe = [ //Test 'Hello!', ]; function findText() { var div = document.querySelector('div[id=BtnText]'); for (var i = 0; i < findMe.length; i++) { if (div.innerText.indexOf(findMe[i]) !== -1) { var btnDo = document.querySelector('input[type="submit"][value="Click!"]'); if (btnDo) { if (typeof btnDo.onclick == "function") { btnDo.onclick.apply(elem); } } return true; } } return false; }
If you want to constantly check. I recommend using setInterval.
var interval = setInterval(function() { var textFound = findText(); if(textFound) { clearInterval(interval); } },50);
source share