C MathJax оказалось все просто. У него нашелся массивчик в котором он публикует события window.MathJax.Hub.signal.posted, и просто дождался когда он опубликует.
Постарому:
selenium.waitForCondition("(typeof window.MathJax === 'undefined') || (window.MathJax.Hub.signal.posted[window.MathJax.Hub.signal.posted.length-1][0]=='End Process')", "240000");
По новому:
driver.manage().timeouts().implicitlyWait(300, TimeUnit.SECONDS); waitForLoad(driver, "return (typeof MathJax === 'undefined') || (MathJax.Hub.signal.posted[window.MathJax.Hub.signal.posted.length-1][0]=='End Process')");