WebDriver Selenium: Aguarde por página complexa com JavaScript para carregar

Eu tenho um aplicativo da web para testar com o Selenium. Há muito JavaScript em execução no carregamento da página.
Este código JavaScript não está tão bem escrito, mas não posso mudar nada. Então, esperando que um elemento apareça no DOM comfindElement() método não é uma opção.
Eu quero criar uma função genérica em Java para aguardar uma página carregar, uma possível solução seria:

executar um formulário de script JavaScript WebDriver e armazenar o resultado dedocument.body.innerHTML em uma variável de stringbody.comparar obody variável para a versão anterior dobody. se eles são os mesmos, em seguida, defina incrementar um contadornotChangedCount caso contrário definidonotChangedCount para zero.aguarde um pouco de tempo (50 ms por exemplo).se a página não mudou por algum tempo (500 ms, por exemplo),notChangedCount >= 10 em seguida, saia do loop, caso contrário, dê um loop para o primeiro passo.

Você acha que é uma solução válida?

questionAnswers(14)

yourAnswerToTheQuestion