Я обновил свою структуру, и метод, который я использовал для проверки наличия элемента, сломался, и я не понимаю, почему?? Когда элемент найден, проблем нет, и он возвращает true. Когда элемент не найден, вместо возврата false он выдает следующую ошибку и не проходит тест.
Есть идеи, чего мне здесь не хватает?
OpenQA.Selenium.NoSuchElementException: 'нет такого элемента: невозможно найти элемент: {"method":"xpath","selector":"//my[@id='xpath' ]"
Локатор элемента
public const string eleVal = "//my[@id='xpath']";
public IWebElement _eleVal { get { return Browser.Driver.FindElement(By.XPath(eleVal )); } }
Метод получения статуса. Это не удается, если элемент не найден.
public bool GetValue()
{
bool ele = Driver.IsElementPresent(_eleVal);
if (ele)
{
return true;
}
else
{
return false;
}
}
Метод, который всегда работал
public static bool IsElementPresent(IWebElement element)
{
bool result;
try
{
result = element.Displayed;
}
catch (NoSuchElementException)
{
return false;
}
catch (StaleElementReferenceException)
{
return false;
}
catch (WebDriverException)
{
return false;
}
return result;
}
Подробнее здесь: https://stackoverflow.com/questions/784 ... thod-broke