Ich schreibe einige Tests für eine Weboberfläche, die ständig aktualisiert und mit hoher Geschwindigkeit aktualisiert wird. Was ist der beste Weg, um die StaleElementReferenceException zu vermeiden? Normalerweise müsste ich prüfen, ob die Seite das Element basierend auf ID hat. Wenn gefunden, wird auf dieses Element geklickt (kann eine Schaltfläche, ein Hyperlink usw. sein).Der beste Weg zur Vermeidung von StaleElementReferenceException auf Selenium webdriver
EDIT: Codebeispiel
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()
Die Behauptung, die über hamcrest getan wird, übergibt. Wenn die dritte Zeile ausgeführt wird, wird die Ausnahme ausgelöst. Ich bin mir bewusst, dass die Seite ziemlich schnell aktualisiert wird (es muss, und ich kann nicht kontrollieren, wie oft es aktualisiert wird).
Dies wird Use-Case-spezifischen wirklich. Bitte geben Sie den Code an, den Sie bis jetzt haben, und, wenn möglich, den Link zu der Webseite, mit der Sie arbeiten. – alecxe
Könnten Sie nicht einfach einen Standard-try/except-Block verwenden? – DuckPuncher