StaleElementReferenceException: l'Élément n'est plus attaché à la DOM: le Sélénium

Je suis complètement nouveau pour l'automatisation des tests. Après avoir cité quelques tutoriels, j'ai créé un système automatisé de cas de test. Le cas de test j'ai essayer d'automatiser est de vérifier si le tri a fonctionné correctement après que j'ai cliqué sur l'un des en-têtes d'un tableau.

Mon test automatisé cas d'échec avec l'exception suivante:

org.openqa.selenium.StaleElementReferenceException: Element is no longer attached to the DOM
Command duration or timeout: 12 milliseconds
For documentation on this error, please visit: http://seleniumhq.org/exceptions/stale_element_reference.html
Build info: version: '2.25.0', revision: '17482', time: '2012-07-18 21:08:56'
System info: os.name: 'Linux', os.arch: 'amd64', os.version: '2.6.35-30-generic',     java.version: '1.6.0_20'
Driver info: driver.version: RemoteWebDriver
Session ID: 95b80ea0-26ac-45e0-a407-79f5b687504a
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at  sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:532)
at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:188)
at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:145)
at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:498)
at org.openqa.selenium.remote.RemoteWebElement.execute(RemoteWebElement.java:244)
at org.openqa.selenium.remote.RemoteWebElement.findElements(RemoteWebElement.java:169)
at org.openqa.selenium.remote.RemoteWebElement.findElementsByTagName(RemoteWebElement.java:240)
at org.openqa.selenium.By$ByTagName.findElements(By.java:312)
at org.openqa.selenium.remote.RemoteWebElement.findElements(RemoteWebElement.java:151)
at Sorting.sorting_column(Sorting.java:68)

Voici le code:

        //Fetching values from the column of a table
    WebElement table = driver.findElement(By.id("dnn_ctr381_View_DealerList_ctl00"));
    List<WebElement> rows = table.findElements(By.tagName("tr"));

    for (WebElement row : rows) {

        List<WebElement> cells = row.findElements(By.tagName("td"));
        if (!cells.isEmpty() && cells.get(0).isDisplayed()) {
            a = cells.get(0).getText();
        }
        b[i] = a;
        i++;
    }
    //Click on column header to sort   
    driver.findElement(By.cssSelector("html body#Body form#Form div#container.container div#Wrapper div#Main div#Panes div#ContentsContainer.box-shadow div#Contents div#Content div#dnn_ContentPane.MainContent div.DnnModule div.dnnPEMContNotitle div#dnn_ctr381_ContentPane.dnnPEMContNotitleBody div#dnn_ctr381_ModuleContent.DNNModuleContent div#dnn_ctr381_View_dnn_ctr381_View_DealerListPanel div#dnn_ctr381_View_DealerList.RadGrid table#dnn_ctr381_View_DealerList_ctl00.rgMasterTable thead tr th.rgHeader a")).click();
    WebElement table1 = driver.findElement(By.id("dnn_ctr381_View_DealerList_ctl00"));
    List<WebElement> rows1 = table1.findElements(By.tagName("tr"));
    for (WebElement row1 : rows1) {
        List<WebElement> cells1 = row1.findElements(By.tagName("td"));//Exception here
        if (!cells1.isEmpty() && cells1.get(0).isDisplayed()) 
            {

         c = cells1.get(0).getText();

       }

Exception est à partir de cette ligne:

List<WebElement> cells = row1.findElements(By.tagName("td"));

Quelqu'un peut s'il vous plaît laissez-moi savoir la cause de cette isse et comment il peut être résolu?

Toute aide est appréciée

Beaucoup de discussion sur stackoverflow.com/questions/16166261/.... Possible dupe?

OriginalL'auteur user1400538 | 2013-01-03