2013-02-13 10 views
6

Ho bisogno di automatizzare l'azione di premere il tasto "Invio" sulla tastiera dopo aver inserito un testo in un campo di testo. Ho provato @browser.send_keys :enter ma questo non fa l'azione. hanno anche provato @browser.text_field(:name => 'q').send_keys :enter o @browser.text_field(:name => 'q').focus e poi send_keys. Ma non ha aiutato.Come inviare il tratto chiave Invio in Watir

@browser.send_keys("{ENTER}") 

non aiuta anche questo, questo in realtà i tipi ("{ENTER}")

prega fatemi sapere altri modi di fare?

risposta

7

browser.send_keys :enter dovrebbe fare il lavoro. Si prega di fornire il link alla pagina, link a una pagina simile o HTML rilevante.

+0
+0

Can qualcuno plz aiutami, è urgente ... vedo che funzionano nel campo di testo di ricerca di google.com. Ma non alla mia domanda: (qualsiasi idea? – user1771980

+2

@ user1771980, hai provato a chiedere agli sviluppatori di vedere quale evento stanno ascoltando? –

0

Data l'HTML:

<input type="text" size="30" class="searchText" dojoattachpoint="_searchTextAP" id="xwt_widget_uishell_Header17_2_search_searchTextAP" dojoattachevent="onfocus:_onFocus_searchTextAP,onblur:_onBlur_searchTextAP, onkeyup:_onKeyUp_searchTextAP"> 

Sembra che l'elemento è in ascolto per questi eventi (tramite dojo): onfocus, onblur, onKeyUp

per attivare questi eventi, è necessario usare qualcosa di simile:

browser.text_field(:id => /.*searchTextAP$/).focus 
browser.element(:id => 'someOtherElement').focus 
browser.text_field(:id => /.*searchTextAP$/).fire_event "onkeyup" 

Se si desidera inviare il modulo, probabilmente è necessario fare clic sul pulsante di invio (dal momento che lei ha citato colpire :enter):

browser.button(:type => 'submit').click 

Se si voleva davvero per inviare solo la chiave :enter, uno dei altre risposte dovrebbero funzionare.

Problemi correlati