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:
document.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?