le sélénium.commun.des exceptions.StaleElementReferenceException au cours de rafraichissement de la page

Page contient certaines données (table avec quelques lignes). Il est bouton "actualiser" qui rechargement et de redessiner certains éléments de la page sans rechargement de données statiques (ajax).

Je suis en train de créer bon test pour cette page, mais se StaleElementReferenceException parfois.

Mon code (python):

from selenium import webdriver
browser=webdriver.Firefox()
browser.get('http://mytisite')
browser.implicitly_wait(10)
browser.find_element_by_id('start').click()
while browser.find_element_by_id('status').text!='Done':
    browser.find_element_by_id('refresh').click()
    for row in browser.find_elements_by_class_name('datarow'):
        if not is_correct(row.text):
           print "incorrect"
    time.sleep(10)

1 de 5 itérations échoue sur la ligne "si pas is_correct(rangée.texte)":

selenium.common.exceptions.StaleElementReferenceException: 
 Message: u'Element not found in the cache - perhaps the page 
 has changed since it was looked up' ; Stacktrace: Method 
 fxdriver.cache.getElementAt threw an error in 
 resource://fxdriver/modules/web_element_cache.js 

Problème principal: page contient déjà des données précédentes, donc je suis la course entre l'ajax d'actualisation et de webdriver élément de la requête de find_elements_by_class_name('datarow').

Comment puis-je la bonne résoudre course entre l'ajax d'actualisation et de webdriver? Merci.

OriginalL'auteur George Shuklin | 2013-04-15