Wie simuliere ich mit Capybara und ChromeDriver das Eingeben in ein Eingabefeld?

Ich habe die folgende Hilfsmethode, um eine Zeichenfolge in ein Eingabefeld einzugeben und die Eingabetaste zu drücken, aber es scheint, dass die Eingabetaste nie gedrückt wird. Ich sehe die eingegebene Zeichenfolge im Eingabefeld, aber die Ereignisse, die beim Drücken der Eingabetaste auftreten, sind nie aufgetreten.

Ich habe in einem aktuellen Browser getestet, dass die Eingabetaste die erwarteten Ereignisse korrekt auslöst. Ich bin mir nicht sicher, was ich vermisse.

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

BEARBEITEN:

Ich habe auch Folgendes erfolglos versucht:

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

Sie verursachen keinen Fehler, aber es wurde noch keine Eingabetaste gedrückt.

Antworten auf die Frage(6)

Ihre Antwort auf die Frage