Jak dodać niestandardowe warunki oczekiwane dla selenu?

Próbuję napisać własne warunki oczekiwane dla Selenium, ale nie wiem, jak dodać nowy. Czy ktoś ma przykład? Nie mogę znaleźć żadnych tutoriali do tego online.

W moim obecnym przypadku chcę poczekać, aż element się pojawi, jest widoczny, jest włączony AND nie ma atrybutu „wyłączony aria”. Wiem, że ten kod nie działa:

var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(seconds));
return wait.Until<IWebElement>((d) =>
    {
        return ExpectedConditions.ElementExists(locator) 
        && ExpectedConditions.ElementIsVisible 
        &&  d.FindElement(locator).Enabled 
         && !d.FindElement(locator).GetAttribute("aria-disabled")
    }

EDYCJA: Trochę dodatkowych informacji: problem, z którym się spotykam, to zakładki jQuery. Mam formularz na wyłączonej karcie i zacznie wypełniać pola na tej karcie, zanim karta stanie się aktywna.

questionAnswers(3)

yourAnswerToTheQuestion