Handling 'Disabled' Elements Using JavaScriptExecutor (JSE):
Even if an element is disabled, we can enter data into a textbox and click checkboxes using JSE. With Selenium alone, we cannot handle disabled elements. If we try to enter data into a disabled textbox using Selenium, it throws an "ElementNotInteractableException".
package JavaScriptExecutorBasics;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.JavascriptExecutor;
public class HandlingDisableElementsUsingJSE {
public static void main(String[] args) {
System.setProperty("webdriver.chrome.driver", ".\\Drivers\\chromedriver.exe");
// Open Chrome browser
WebDriver driver = new ChromeDriver();
driver.get("file:///C:/brahma/Practise/qtp%20practise/web%20apps/ALL%20Web%20objects.html");
// Initialize JavaScriptExecutor
JavascriptExecutor jse = (JavascriptExecutor) driver;
// Click checkbox 'I have an aeroplane' (disabled) using JSE
// JS code: document.getElementsByName('bike')[2].checked=true;
jse.executeScript("document.getElementsByName('bike')[2].checked=true;");
// Homework tasks:
// 1. Click 'Computer' checkbox using id with JSE
// JS code: document.getElementById('computerId').checked=true;
// Implement it in Java by calling executeScript() with the above JS code.
// Enter data into 'ename' textbox (disabled) using JSE
// JS code: document.getElementsByName('myname')[0].value = "Raja";
jse.executeScript("document.getElementsByName('myname')[0].value = 'Raja';");
// Homework tasks:
// 1. Enter data into 'ename' textbox (disabled) using JSE
// JS code: document.getElementsByName('myname')[0].value = 'Raja';
// Implement it in Java by calling executeScript() with the above JS code.
}
}
No comments:
Post a Comment