Как проверить, отключена ли кнопка с помощью css в selenium webdriver

Мне нужна помощь, чтобы проверить, отключена ли кнопка, прикрепив снимок экрана dom для справки, попробовал функцию isEnabled() из WebDriver, но она вернула истину.

Как проверить, отключена ли кнопка с помощью css в selenium webdriver

Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
Как вычислять биты и понимать побитовые операторы в Java - объяснение с примерами
В компьютерном программировании биты играют важнейшую роль в представлении и манипулировании данными на двоичном уровне. Побитовые операции...
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Поднятие тревоги для долго выполняющихся методов в Spring Boot
Приходилось ли вам сталкиваться с требованиями, в которых вас могли попросить поднять тревогу или выдать ошибку, когда метод Java занимает больше...
Полный курс Java для разработчиков веб-сайтов и приложений
Полный курс Java для разработчиков веб-сайтов и приложений
Получите сертификат Java Web и Application Developer, используя наш курс.
1
0
1 928
2

Ответы 2

Вы можете проверить, есть ли у элемента атрибут disabled. Если он существует, вы получите результаты String, если нет, вы получите null

WebElement button = driver.findElement(locator);
bool isDisabled = button.getAttribute("disabled") != null;

Есть два способа проверить, является ли кнопкаотключен следующим образом:

  • Использование try-catch{}:

    try {
        //css
        driver.findElement(By.cssSelector("fieldset.checkbox button.calvary-button[disabled]"));
        //xpath
        //driver.findElement(By.xpath("//button[@class='calvary-button' and contains(.,'Continue')][@disabled]"));
        System.out.println("Button is disabled");
    } catch (NoSuchElementException e) {
        System.out.println("Button is enabled");
    }
    
  • Используя findElements() и и подтвердите ответ нулевой длины:

    if (driver.findElements(By.cssSelector("fieldset.checkbox button.calvary-button[disabled]")).size()>0)
        System.out.println("Button is disabled");
    else
        System.out.println("Button is enabled");
    

Это проверяет, существует ли кнопка, а не отключена ли она.

Guy 26.09.2018 09:31

Точно, если кнопка существует вместе с атрибутотключен, например [disabled]. Sysouts можно настраивать.

DebanjanB 26.09.2018 09:34

Другие вопросы по теме