Module 17 exc2 printlink | Selenium Forum
M
Posted on 12/07/2016
hello sir
in this Exc. trying to click on every link on first page, but its giving staleElementReferance error.... below is error msg.

package excercise;

import java.util.List
import java.util.concurrent.TimeUnit;

import org.openqa.selenium.By;
import org.openqa.selenium.Keys;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.chrome.ChromeDriver;

public class PrintLink_5pages_Exc2 {

public static void main(String[] args) throws InterruptedException {

System.setProperty("webdriver.chrome.driver","C:\\sunita_java\\driverExe\\chromedriver.exe");
ChromeDriver driver=new ChromeDriver();
driver.manage().window().maximize();
driver.manage().timeouts().implicitlyWait(20,TimeUnit.SECONDS);

driver.navigate().to("http://www.google.com");
driver.findElement(By.xpath("//input[@type='text']")).sendKeys("java");
driver.findElement(By.xpath("//input[@type='text']")).sendKeys(Keys.ENTER);

List<WebElement> linklist=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
for(int i=0;i<linklist.size();i++){
linklist=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
System.out.println(linklist.get(i).getText());
driver.navigate().forward();
linklist.get(i).click();
Thread.sleep(3000);

driver.navigate().back();
Thread.sleep(3000);

}

/* Thread.sleep(300);
System.out.println("******2*****");
driver.findElement(By.xpath("//a[@aria-label='Page 2']")).click();
List<WebElement> linklist2=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
Thread.sleep(300);

for(int i=0;i<linklist2.size();i++){
driver.navigate().forward();
linklist2=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
System.out.println(linklist2.get(i).getText());
driver.navigate().forward();
linklist2.get(i).click();
Thread.sleep(3000);
driver.navigate().back();
Thread.sleep(3000);

}*/
/*
System.out.println("*****3******");
driver.findElement(By.xpath("//a[@aria-label='Page 3']")).click();
Thread.sleep(300);
List<WebElement> linklist3=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
Thread.sleep(300);
for(int i=0;i<linklist3.size();i++){
linklist3=driver.findElements(By.xpath("//div[@class='rc']/h3/a")) ;
Thread.sleep(300);
System.out.println(linklist3.get(i).getText());

}

System.out.println("******4*****");
driver.findElement(By.xpath("//a[@aria-label='Page 4']")).click();
Thread.sleep(300);
List<WebElement> linklist4=driver.findElements(By.xpath("//div[@class='rc']/h3/a"));
Thread.sleep(300);
for(int i=0;i<linklist4.size();i++){
linklist4=driver.findElements(By.xpath("//div[@class='rc']/h3/a"));
Thread.sleep(300);
System.out.println(linklist4.get(i).getText());
}

System.out.println("**** 5 *******");
driver.findElement(By.xpath("//a[@aria-label='Page 5']")).click();
Thread.sleep(300);
List<WebElement> linklist5=driver.findElements(By.xpath("//div[@class='rc']/h3/a"));
Thread.sleep(300);
for(int i=0;i<linklist5.size();i++){
linklist5=driver.findElements(By.xpath("//div[@class='rc']/h3/a"));
Thread.sleep(300);
System.out.println(linklist5.get(i).getText());
}*/


}

}






Starting ChromeDriver 2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4) on port 10226
Only local connections are allowed.
log4j:WARN No appenders could be found for logger (org.apache.http.client.protocol.RequestAddCookies).
log4j:WARN Please initialize the log4j system properly.
Download Free Java Software
java.com: Java + You
Exception in thread "main" org.openqa.selenium.StaleElementReferenceException: stale element reference: element is not attached to the page document
(Session info: chrome=51.0.2704.103)
(Driver info: chromedriver=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4),platform=Windows NT 10.0 x86_64) (WARNING: The server did not provide any stacktrace information)
Command duration or timeout: 14 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.53.0', revision: '35ae25b', time: '2016-03-15 16:57:40'
System info: host: 'ShailendraInspiron13', ip: '10.0.1.7', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_91'
Driver info: org.openqa.selenium.chrome.ChromeDriver
Capabilities [{applicationCacheEnabled=false, rotatable=false, mobileEmulationEnabled=false, chrome={chromedriverVersion=2.21.371459 (36d3d07f660ff2bc1bf28a75d1cdabed0983e7c4), userDataDir=C:\Users\Akshay\AppData\Local\Temp\scoped_dir26516_5906}, takesHeapSnapshot=true, databaseEnabled=false, handlesAlerts=true, hasTouchScreen=false, version=51.0.2704.103, platform=XP, browserConnectionEnabled=false, nativeEvents=true, acceptSslCerts=true, locationContextEnabled=true, webStorageEnabled=true, browserName=chrome, takesScreenshot=true, javascriptEnabled=true, cssSelectorsEnabled=true}]
Session ID: 3bd521aa4455ffe172ca278b4ace068e
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:206)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:158)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:678)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:327)
at org.openqa.selenium.remote.RemoteWebElement.click(RemoteWebElement.java:85)
at excercise.PrintLink_5pages_Exc2.main(PrintLink_5pages_Exc2.java:29)

M
Replied on 12/07/2016

stale element reference exception
https://gist.github.com/djangofan/5112655