Доброго времени суток!
Имеется кнопка с 2 состояниями: активное и неактивное (кликнули - еще не кликнули).
Найдены по CssSelector:
IWebElement abcd = driver.FindElement(By.CssSelector("is-active"));
IWebElement zxy = driver.FindElement(By.CssSelector("is-not-active"));
При неактивном(is-not-active) необходимо кликнуть по ней. Делаю это с помощью:
Actions press = new Actions(driver);
press.MoveToElement(zxy).Build().Perform();
press.Click(zxy).Build().Perform();
При активном состоянии(is-active) необходимо просто закрыть окно.
Как правильно сверить эти 2 состояния? if-else что-то не работают с элементами Selenium :)
Вам следует искать кнопки по более постоянным критериям, которые не изменяются в зависимости от состояния. Дальше следует делать проверку класса, что он содержит is-active.
IWebElement button = driver.FindElement(By.CssSelector("button"));
if(button.GetAttribute("class").Contains("is-not-active"))
{
button.Click(); //Этот клик более стабилен и выдаст исключение если кликнуть не удастся
}
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Делаю базу данных для доставки цветов с возможностью самовывоза, возникла задача в отделении логики доставки от обработки заказовНа данный...
Хочу подгрузить php файл, но данный файл у меня закрыт глобальной переменной от прямого доступа