Есть поле input для логина, в котором при открытии страницы уже стоит “имя”, но если клацнуть в нем мышкой, то поле очищается само.
В своем коде я сразу нахожу это поле и заполняю, но проблема в том, что я заметил что иногда поле само не очищается, а заполняется так:
имяmylogin
где mylogin - это мой логин, но в большинстве случаев поле очищается как надо.
Почему иногда оно не очищается, и как его тогда правильно заполнять?
Все может быть. У меня пока не было таких проблем с полями ввода. Если и будут, то буду решать конкретную проблему в конкретном месте, а не переносить костыли на все проекты.
я ветеран по этой теме. Сначала нужно подчистить текущее значение, после чего банальный sendkeys(value)
Если нужна анимация подтирания, то с полингом в 50 мс чисти имитируя BackSpace (так и отправляешь для вебэлемента значение Keys.BACK_SPACE)
Если хочешь все и сразу, форси clear() селениумский для вебэлемента, подчищает сразу.
Если и Селениум не справляется, есть универсальное решение - чистка через JavaScript.
Scala/Java - webDriver.asInstanceOf[JavascriptExecutor].executeScript("""arguments[0].value=""""", element)