Функция isEnabled () в селеновом веб-драйвере всегда возвращает true, когда веб-драйвер работает на сайтах, разработанных с использованием Angular 6. Все ответы, относящиеся к этой теме, которые я обнаружил, говорили о том, что отключенный не является атрибутом, а вместо этого пишется в классе кнопки. Проверьте эту ссылку для подробного описания.
Кнопка включена или отключена: как веб-драйвер принимает решение?
Но код веб-сайта, над которым я работаю, не написан в классе. Вот код моего сайта.
<button _ngcontent-c61="" class="push-right-sm mat-raised-button mat-primary" color="primary" mat-raised-button="" disabled="">
<span class="mat-button-wrapper">SAVE</span><div class="mat-button-ripple mat-ripple" matripple=""></div><div class="mat-button-focus-overlay"></div></button>
Как проверить, включен этот элемент или нет?
Редактировать: вот как я проверяю это через мой код.
WebElement button = driver.findElement(By.xpath("//button/span[contains(text(),'SAVE')]"));
if(button.isEnabled()){ System.out.println("The button is enabled."); }