Sürekli yenilenen ve yüksek oranda yenilenen bir web arayüzü için bazı testler yazıyorum. StaleElementReferenceException'ı elde etmekten kaçınmanın en iyi yolu nedir? Genellikle sayfanın kimliğe dayalı bir öğeye sahip olup olmadığını kontrol etmem gerekiyor. Eğer bulunursa, bu öğe tıklanır (bir düğme veya köprü, vb. Olabilir).Selenyum webdriver üzerinde StaleElementReferenceException en iyi yolu
DÜZENLEME: Kod örneği
profile = webui.driver.find_element_by_link_text('Test_string_for_profile')
assert_that(profile, not_none(), 'Profile exists')
webui.driver.find_element_by_link_text('Test_string_for_profile').click()
hamcrest ile yapılır onaylama, geçer. Üçüncü satır yürütüldüğünde istisna kaldırılır. Sayfanın oldukça hızlı bir şekilde yenilentiğinin farkındayım (bunu yapmak zorundadır ve ne sıklıkta yenilendiğini kontrol edemiyorum).
spesifik Bu gerçekten kullanmak durum hakkında hiçbir fikri beklemek var. Lütfen şu ana kadar verdiğiniz kodu ve mümkünse, birlikte çalıştığınız web sayfasının bağlantısını sağlayın. – alecxe
Standart bir try/except bloğu kullanamazdınız mı? – DuckPuncher