</>

Technology

Selenium

Difficulty

Beginner

Interview Question

How can we check if an element is enabled for interaction on a web page?

Use the isEnabled() method on a WebElement to check if it is enabled and can be interacted with.

Answer

Use the isEnabled() method to check if an element is active and accepts user interaction.

Basic usage:

Java
boolean isEnabled = driver.findElement(By.locator).isEnabled();
System.out.println("Is enabled: " + isEnabled);

Practical examples:

Java
// Check if Submit button is enabled
WebElement submitBtn = driver.findElement(By.id("submitBtn"));
if (submitBtn.isEnabled()) {
    submitBtn.click();
} else {
    System.out.println("Submit button is disabled — fill in required fields first");
}

// Assert that input field is enabled
WebElement emailField = driver.findElement(By.id("email"));
Assert.assertTrue(emailField.isEnabled(), "Email field should be enabled");

// Check disabled state
WebElement disabledField = driver.findElement(By.id("readonlyField"));
Assert.assertFalse(disabledField.isEnabled(), "Field should be disabled");

Real-world use case: Verifying that a "Submit" button only becomes enabled after all required fields are filled:

Java
WebElement name  = driver.findElement(By.id("name"));
WebElement email = driver.findElement(By.id("email"));
WebElement btn   = driver.findElement(By.id("submit"));

Assert.assertFalse(btn.isEnabled()); // disabled before filling
name.sendKeys("John");
email.sendKeys("john@test.com");
Assert.assertTrue(btn.isEnabled());  // enabled after filling

Follow AutomateQA

Related Topics