Mod17: getting loginTest -StaleElementReferenceException: element is not attached to the page document when i try to verify the name in the homepage. | Selenium Forum
V
Viji Medithi Posted on 14/09/2019

Hi, how do I handle the stale element reference exception? please find the code below.

public class LoginTest {
WebDriver driver = null;

@Test
public void loginTest(){

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"/drivers/chromedriver");
System.getProperty(ChromeDriverService.CHROME_DRIVER_LOG_PROPERTY,"null");
System.getProperty(ChromeDriverService.CHROME_DRIVER_SILENT_OUTPUT_PROPERTY,"true");

String browser ="Chrome";

if(browser.equals("Mozilla")){
System.setProperty("webdriver.gecko.driver", System.getProperty("user.dir")+"/drivers/geckodriver");
driver = new FirefoxDriver();
}else if(browser.equals("Chrome")){

System.setProperty("webdriver.chrome.driver", System.getProperty("user.dir")+"/drivers/chromedriver");
driver = new ChromeDriver();
}else if(browser.equals("InternetExplorer")){
driver = new InternetExplorerDriver();
}else if(browser.equals("Edge")){
driver = new EdgeDriver();
}

driver.manage().timeouts().implicitlyWait(20, TimeUnit.SECONDS);
driver.manage().timeouts().pageLoadTimeout(20, TimeUnit.SECONDS);
driver.manage().window().maximize();
driver.navigate().to("http://in.rediff.com/");

driver.findElement(By.xpath("//div[@class='logobar']/div/div[2]/a[2]")).click();
WebDriverWait wait = new WebDriverWait(driver,40);
wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath("//span[@id='signin_info']"))));
driver.findElement(By.xpath("//span[@id='signin_info']/a")).click();
wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.id("useremail"))));
driver.findElement(By.id("useremail")).sendKeys("xxxxx@rediffmail.com");
driver.findElement(By.id("useremail")).sendKeys(Keys.ENTER);
driver.findElement(By.name("passwd")).sendKeys("abc123");
driver.findElement(By.name("passwd")).sendKeys(Keys.ENTER);
driver.findElement(By.id("emailsubmit")).click();
driver.navigate().refresh();
//wait.until(ExpectedConditions.visibilityOf(driver.findElement(By.xpath("//span[@id='username']/a"))));
boolean result = isElementPresent("//span[@id='username']/a");
Assert.assertTrue(result, "Home Page not found");
}

public boolean isElementPresent(String xpathExp){

int s= driver.findElements(By.xpath(xpathExp)).size();
if(s==0){
return false;

}else{
return true;
}
}

}


V
Viji Medithi Replied on 14/09/2019

this issue is resolved. can be closed