Вы можете написать пользовательскую функцию для ожидания изменения атрибута class
, например
public static Func<IWebDriver, string> waitForChangeInAttribute(By locator, string attribute, string notValue) {
return (driver) => {
try {
var value = driver.FindElement(locator).GetAttribute(attribute);
return value == notValue ? null : value;
}
catch (NoSuchElementException) {
return null;
}
catch (StaleElementReferenceException) {
return null;
}
};
}
И использовать / вызывать как
string valueBefore = driver.FindElement(By.xpath("//div[contains(@class, 'tabs-')]")).GetAttribute(attribute);
wait.Until(waitForChangeInAttribute(By.xpath("//div[contains(@class, 'tabs-')]"), "class", valueBefore));
Примечание: пожалуйста, примите заботиться о одинарных и двойных кавычках, когда я печатаю с клавиатуры мобильного телефона