Zrobiłem następującą funkcję w C#, która zwraca zaznaczenie, gdy jest wypełniona.
Trzeba przejść przez Aby znaleźć element i konkretny czas, aby czekać na to, aby być wypełnione:
public static SelectElement FindSelectElementWhenPopulated(this IWebDriver driver, By by, int delayInSeconds)
{
WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(delayInSeconds));
return wait.Until<SelectElement>(drv =>
{
SelectElement element = new SelectElement(drv.FindElement(by));
if (element.Options.Count >= 2)
{
return element;
}
return null;
}
);
}
W moim przypadku walidacji tha select ma więcej niż 2 opcje, można zmień kod tak, aby potwierdził ilość, która pasuje do twoich potrzeb.
działa świetnie gdy chcesz po prostu poczekać, aż otrzymujesz opcję zapełnioną w elemencie select. –