Очистка текстового значения Javascript Executor и действия НЕ работают! - Selenium - PullRequest
0 голосов
/ 21 ноября 2018

Я пытаюсь очистить Существующее значение поля [TextBox] следующими способами:

  1. Действие - MoveToElement - Keys.Backspace
  2. Метод Selenium - Clear ()

каждый раз: используется для получения одного и того же сообщения об ошибке: Нет такого elementexception, хотя идентификация элемента правильная, и даже я пытался сфокусировать элемент перед выполнением действия, но все еще не смог.

предложитьмне подход пожалуйста

примечание: приложение Microsoft.Dynamics CRM

1 Ответ

0 голосов
/ 22 ноября 2018

Основываясь на дополнительных данных из комментариев, вот что, вероятно, происходит:

  1. Вы получаете экземпляр WebElement - , есть элемент, соответствующий вашему locator в этот момент времени
  2. Вы вводите какое-то значение для элемента - это действие скорее всего как-то меняет ваш веб-элемент (например, меняет стиль / класс / или даже тег)
  3. Вы пытаетесь получить экземпляр того же WebElement, используя то же самое locator, и выбрасывается исключение NoSuchElementException - это происходит потому, что элемент теперь не совсемтот же , что и на шаге 1

Если вы добавите образец HTML до ввода текста и после ввода текста , мы, вероятно, будембыть в состоянии предоставить точное решение.

На данный момент я могу предложить 2 способа:

  1. Когда вы хотите очистить текст - вам нужно использовать другой локатор.Это будет точно соответствовать элементу, с которым вам нужно работать.
  2. Если ваша страница не перезагружается после ввода текста, вы можете просто создать переменную для WebElement, найти элемент и сохранить его в переменной перед вводом.текст, затем работайте с этой переменной, введите текст, используя sendKeys, затем очистите текст, применяя метод clear к этой же переменной.Т.е., возможно, вам не нужно дважды звонить findElement, если страница остается прежней.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...