Как имитировать нажатие Enter в поле ввода с помощью Capybara и ChromeDriver?

У меня есть следующий вспомогательный метод для ввода строки в поле ввода и нажатия клавиши ввода, но кажется, что клавиша ввода никогда не нажимается. Я вижу строку, введенную в поле ввода, но события, происходящие при нажатии ввода, никогда не происходили.

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

def fill_and_trigger_enter_keypress(selector, value)
  page.execute_script %Q(
                          var input = $('#{selector}');
                          input.val('#{value}');
                          input.trigger("keypress", [13]);
                         )
end

РЕДАКТИРОВАТЬ:

Я также пробовал следующее, но безрезультатно:

find('#q_name').native.send_keys(:return)
find('#q_name').native.send_keys(:enter)

Они не вызывают никаких ошибок, но клавиша ввода по-прежнему не нажата.

57
задан Eric M. 3 June 2012 в 01:21
поделиться