Я пытаюсь написать свои собственные ExpectedConditions для Selenium, но я не знаю, как добавить новый. У кого-нибудь есть пример? Я не могу найти учебники для этого онлайн.Как добавить пользовательские ожидаемые условия для селена?
В моем текущем случае я хочу подождать, пока элемент не будет, он виден, включен И не имеет attr "aria-disabled". Я знаю, что этот код не работает:
var wait = new WebDriverWait(driver, TimeSpan.FromSeconds(seconds));
return wait.Until<IWebElement>((d) =>
{
return ExpectedConditions.ElementExists(locator)
&& ExpectedConditions.ElementIsVisible
&& d.FindElement(locator).Enabled
&& !d.FindElement(locator).GetAttribute("aria-disabled")
}
EDIT: Немного дополнительная информация: проблема я бег в с закладками JQuery. У меня есть форма на вкладке disabled, и она начнет заполнять поля на этой вкладке до того, как вкладка станет активной.
Не должно быть ? –
chill182
Конечно. Отредактировано для исправления. Спасибо, что указали это. – JimEvans
Поскольку этот ответ был связан пару раз в IRC, я также укажу, что он должен использовать d.FindElement, поскольку это переменная лямбда для драйвера –