you_are_enot
@you_are_enot
Пограммист любитель

Как нажать Enter в Selenium?

Пишу приложение для автоматизации работы с сайтом. На сайте есть чат, отправка сообщений в который происходит при нажатии кнопки Enter. Без проблем получается найти поле и передать в него значение с помощью .sendKeys("Text"). Как имитировать нажатие Enter? Пробовал .sendKeys(Key.ENTER). Не работает. Пишу на js.
  • Вопрос задан
  • 5502 просмотра
Решения вопроса 1
you_are_enot
@you_are_enot Автор вопроса
Пограммист любитель
Решение оказалось проще, чем предполагалось. Достаточно в конце отправляемого сообщения добавить символ переноса строки "\n"
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
@timmydiego
Нужно понять, почему не работает .sendKeys(Key.ENTER), вполне возможно, что теряется фокус с инпута = неявно теряется курсор. Попробуй указать курсору на место явно. типа такого:
```
driver.get('www.example.com');
var element = driver.findElement(webdriver.By.xpath('//div[yourInputXpath]'));
element.sendKeys('your text is here');
element.click;
element.sendKeys(Keys.ENTER);
```
За синтаксис извини, не пишу на js.
Решение костыльное конечно, нужно смотреть почему пропадает фокусировка и переопределить событие sendKeys, например. Но если нужно, так сказать "По быстрому" то должно сработать.
Ответ написан
Комментировать
Chefranov
@Chefranov
Новичок
Попробуйте .sendKeys(Key.RETURN)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы