[Solved] Как для WebDriver + C# задать явное ожидание элемента с условием его видимости

Как для WebDriver + C# задать явное ожидание элемента с условием его видимости?
В документации указан простой пример, но по нему сложно понять как его переделать под другое условие ожидания елемента (видимость и т.д)

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
IWebElement myDynamicElement = wait.Until<IWebElement>((d) =>
    {
        return d.FindElement(By.Id("someDynamicElement"));
    });
1 лайк

не знаю с# но могу предположить

WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
Boolean condition = wait.Until<Boolean>((d) =>
    {
        return d.FindElement(By.Id("someDynamicElement")).IsDisplayed();
    });

По аналогии с java → ExpectedConditions:

IWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(3))
IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(By.Id("foo")));

Да, спасибо. Заработало.
Немного переписал под себя , может кому-то пригодиться.

public static void WaitAndVisible(this IWebDriver driver, By by)
{
    IWait<IWebDriver> wait = new WebDriverWait(driver, TimeSpan.FromSeconds(10));
    IWebElement element = wait.Until(ExpectedConditions.ElementIsVisible(by));
}