Представим, что у вас есть инпут, который отсылает какую-то информацию на сервер по смене фокуса, при этом, обновляя часть имеющейся формы (включая сам инпут).
Как в старые добрые времена, вы наверняка захотите вначале его очистить перед непосредственным заполнением. Т.е. технически цепочка выглядит следующим образом: findElement -> clear -> sendKeys.
Все бы ничего, но ввиду баговости метода clear, который зовет событие onChange, ваш инпут после очистки попытается обновить часть формы, не дожидаясь ввода текста. Т.е. в данном конкретном примере ваша цепочка прервется на sendKeys со StaleElementReferenceException, т.к. вы попытаетесь обратиться к элементу, который в данный момент обновляется, т.е. его состояние не позволяет вам с ним взаимодействовать прямо сию минуту, надо подождать, пока он вновь вернется в DOM.
Если бы элемента не было вообще на форме до попытки любого взаимодействия с ним, то вы бы получили NoSuchElementException при обращении к findElement.
Как пишет один из selenium коммитеров:
Please ignore the suggestion / recommendation for setElementConverter… that’s a bit old of documentation, it does exist still, just not really recommended. Typically you can attempt to retry the find as an alternative to this.