Melhor prática para esperar por uma mudança com o Selenium Webdriver?

Depois de um evento de clique, preciso esperar que um atributo de elementos seja alterado antes de prosseguir (o evento click faz com que certos elementos saiam do foco e outros fiquem focados por meio de um JS)

Depois de perder tempo pesquisando uma alternativa confiável ao "waitForAttribute" (comando selenium 1) no webdriver ... eu pude fazer o código abaixo funcionar. Mas não tenho certeza se esta é a melhor implementação ....

Alguma outra melhor solução?

<code>wait = new WebDriverWait(wedriver1, TimeSpan.FromSeconds(5));
.....
button.Click();
wait.Until(webdriver1 => webdriver2.webelement.GetAttribute("style").Contains("display: block"));
</code>

Além disso, alguém pode por favor compartilhar um link para como eu posso lidar com mudanças de eventos AJAX usando o webdriver.

questionAnswers(5)

yourAnswerToTheQuestion