Why defaultContent method is giving staleElementException. Parent window textbox is receiving text here which I'm sending after defaultcontent method

Viewed 33

Code Trail

WebElement parentTextBox = driver.findElement(By.id("name"));

    parentTextBox.sendKeys("This is parent textbox");
    
    WebElement newWindowBtn = driver.findElement(By.id("newWindowBtn"));
    
    newWindowBtn.click();
    
    String parentWindow = driver.getWindowHandle();
    
    Set<String> getWindows = driver.getWindowHandles();
    
    for (String handles : getWindows) {
        
        if (!handles.equals(parentWindow))
            
        {
            driver.switchTo().window(handles);
            driver.manage().window().maximize();
            WebElement firstName = driver.findElement(By.id("firstName"));
            firstName.sendKeys("Pankaj");
        }
        
        Thread.sleep(10000);
        //driver.switchTo().window(parentWindow);
        
        //driver.switchTo().window("");
        
        driver.switchTo().defaultContent();
        
        Thread.sleep(5000);
        
        parentTextBox.clear();
        
        parentTextBox.sendKeys("switching back to parent window is success");

Error

Exception in thread "main" org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document (Session info: chrome=105.0.5195.126) For documentation on this error, please visit: https://www.seleniumhq.org/exceptions/stale_element_reference.html Build info: version: '3.141.59', revision: 'e82be7d358', time: '2018-11-14T08:17:03' System info: host: 'DESKTOP-9GE1TC7', ip: '192.168.1.6', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '17.0.1' Driver info: org.openqa.selenium.chrome.ChromeDriver Capabilities {acceptInsecureCerts: false, browserName: chrome, browserVersion: 105.0.5195.126, chrome: {chromedriverVersion: 105.0.5195.52 (412c95e51883..., userDataDir: C:\Users\Admin\AppData\Loca...}, goog:chromeOptions: {debuggerAddress: localhost:65092}, javascriptEnabled: true, networkConnectionEnabled: false, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, proxy: Proxy(), setWindowRect: true, strictFileInteractability: false, timeouts: {implicit: 0, pageLoad: 300000, script: 30000}, unhandledPromptBehavior: dismiss and notify, webauthn:extension:credBlob: true, webauthn:extension:largeBlob: true, webauthn:virtualAuthenticators: true} Session ID: 2b22a0d3f499205579e31a39c1233d25 at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77) at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499) at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) at org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) at org.openqa.selenium.remote.service.DriverCommandExecutor.execute(DriverCommandExecutor.java:83) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:285) at org.openqa.selenium.remote.RemoteWebElement.clear(RemoteWebElement.java:124) at switchWindows.SwitchWindows.main(SwitchWindows.java:58)

0 Answers
Related