Перейти к содержимому

Фотография

Имитация нажатия буквенной клавиши


  • Авторизуйтесь для ответа в теме
Сообщений в теме: 3

#1 pavel.scherbakoff

pavel.scherbakoff

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 19 апреля 2012 - 12:06

Добрый день.

Нужно смоделировать нажатие буквенной клавиши. Для нажатия служебных использовал вот такое:

Actions action = new Actions(driver);
action.sendKeys(Keys.ENTER).build().perform();


В классе Keys хранятся коды служебных клавиш:
Representations of pressable keys that aren't text. These are stored in the Unicode PUA (Private Use Area) code points, 0xE000-0xF8FF.
То есть Keys.ENTER = '\uE007'.
Отправляю так же клавишу D ('\u0044') - результата нет.
  • 0

#2 ryjii

ryjii

    Активный участник

  • Members
  • PipPip
  • 101 сообщений
  • Город:Санкт-Петербург

Отправлено 19 апреля 2012 - 19:05

В подсказке же явно написано, что Keys посылает только те клавиши, которые не являются текстом. Для буквенных клавиш в sendKeys надо передавать непосредственный char в качестве параметра
  • 0

#3 pavel.scherbakoff

pavel.scherbakoff

    Новый участник

  • Members
  • Pip
  • 9 сообщений

Отправлено 23 апреля 2012 - 13:02

В подсказке же явно написано, что Keys посылает только те клавиши, которые не являются текстом. Для буквенных клавиш в sendKeys надо передавать непосредственный char в качестве параметра


При отправлении символа (или кода) буквенной клавиши в editable поле оно туда отлично пишется.

Но вот если таким же образом отправлять символ или код буквы через Actions без указания элемента
action.sendKeys(<юникод>).build().perform();
ничего не происходит, хоть и срабатывает без ошибок.

А отправляя точно таким же образом код клавиши стрелка вниз (тоже хоткей), действие выполняется.
  • 0

#4 ice-cream

ice-cream

    Новый участник

  • Members
  • Pip
  • 12 сообщений

Отправлено 19 октября 2012 - 11:50

нашлось ли решение? такая же проблема
  • 0


Количество пользователей, читающих эту тему: 1

0 пользователей, 1 гостей, 0 анонимных