День,
Я мог бы воспользоваться небольшим советом. У меня есть настройки объекта страницы, например
IWebElement SiteInUse => DriverContext.Driver.FindElement(By.ClassName("site-txt"));
У меня есть настроенный метод, который будет 1. Дождаться, пока элемент станет видимым. 2. Проверьте правильность текста элементов.
Я пытаюсь выше сделать что-то вроде
WaitHelpers.WaitTillVisiible(By.ClassName("site-txt"));
, как будто идентификатор меняется, мне нужно будет отредактировать его в двух местах. Я пытаюсь создать метод расширения для IWebElement.
Я пытался
ublic static bool WaitUntilElementIsVisible(this IWebElement element)
{
WebDriverWait wait = new WebDriverWait(DriverContext.Driver, TimeSpan.FromSeconds(30));
return wait.Until(ElementIsVisible(element));
}
public static Func<IWebDriver, bool> ElementIsVisible(IWebElement element)
{
return (driver) =>
{
try
{
return element.Displayed;
}
catch (Exception)
{
// If element is null, stale or if it cannot be located
return false;
}
Это работает, но только если элемент видим, но не будет продолжать искать в течение 30 секунд.
Что я делаю не так?