Selenium

Aus Peter Jauernig Wiki
Wechseln zu: Navigation, Suche


StaleElementReferenceException

Code:

		public static void moveBeginMonthForward (int times) throws Exception{
			
			
	        WebElement fw = driver.findElement(By.linkText("Next"));

	        for(int i=0; i<times; i++)
			{
		        fw.click();
		        Thread.sleep(1000);      
			}
		}


Error: org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM

A StaleElementException is thrown when the element you were interacting is destroyed and then recreated. Most complex web pages these days will move things about on the fly as the user interacts with it and this requires elements in the DOM to be destroyed and recreated.


Solution:

		public static void moveBeginMonthForward (int times) throws Exception{
			
			
	        WebElement fw = driver.findElement(By.linkText("Next"));

	        for(int i=0; i<times; i++)
			{
                        fw = driver.findElement(By.linkText("Next"));
		        fw.click();
		        Thread.sleep(1000);      
			}
		}