After a click event I need to wait for an elements attribute to change before proceeding further (click event causes certain elements to move out of focus and certain others get focus via a JS)
After spending time searching for a reliable alternative to “waitForAttribute” (selenium 1 command) in web driver… I could get the below code to work. But I am not sure if this is the best implementation…
Any other better solution??
wait = new WebDriverWait(wedriver1, TimeSpan.FromSeconds(5));
.....
button.Click();
wait.Until(webdriver1 => webdriver2.webelement.GetAttribute("style").Contains("display: block"));
Also, can anyone please share a link to how I can handle AJAX event changes using webdriver.
It’s a recurring problem of Selenium.
I am not sure about a “best” implementation existing. I believe it’s largely depending on the situation.
Concerning AJAX-driven changes, I would generally use a waitForElementPresent or a waitForElementNotPresent depending on the changes the AJAX call will make on the page.