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;
}
}
}
this issue is resolved. can be closed