Мы обходим эту проблему, делая что-то под названием WebdriverWrapper и WebElementWrapper.
То, что делают эти оболочки, это обрабатывать исключение StaleElementException внутри, а затем использовать локатор для повторной оценки и получения нового объекта WebElement. Таким образом, вам нужно распространить код, обрабатывающий исключение, по всей базе кода и локализовать его для одного класса.
Я скоро расскажу об открытых источниках этих двух классов и добавлю ссылку сюда, если вам интересно.
На ум приходят два варианта:
Вы можете использовать Plist для хранения исходных данных и заполнения вашего постоянного хранилища при первом запуске. Этот подход проще, чем писать собственный XML-анализатор.