Я использовал приведенный ниже код и обнаружил, что блок TRY не работает в ситуации, когда элемент отсутствует:
try
{
var actual = new WebDriverWait(m_WebDriver, TimeSpan
.FromSeconds(5))
.Until(ExpectedConditions
.ElementIsVisible(By.XPath(XpathUnderTest)))
.Displayed;
return actual;
}
catch (Exception ex)
{
return false;
}
У меня есть вариант использования, когда наличие Webelement зависит от других условий, поэтому он не присутствует или не отображается все время на веб-странице. Если элемент присутствует, то он работает, а если элемент отсутствует, то Try catch не может обработать сценарий, используя приведенный выше код.
Я также пробовал: bool isPresent = Driver.Findelements.(xpath).Count() > 0; // список, но он не работает, если элемент отсутствует