2013-02-13 42 views
6

在輸入文本字段中的文本後,我需要自動執行在鍵盤上按「Enter」鍵的操作。 我試過@browser.send_keys :enter 但那不行。也試過@browser.text_field(:name => 'q').send_keys :enter@browser.text_field(:name => 'q').focus,然後send_keys。但沒有幫助。如何發送按鍵輸入Watir

@browser.send_keys("{ENTER}") 

不幫助這個太,其實這類型( 「{ENTER}」)

請讓我知道這樣做的其他方式?

回答

7

browser.send_keys :enter應該做的工作。請提供該頁面的鏈接,鏈接到類似的頁面或相關的HTML。

+0

user1771980 2013-02-13 18:11:40

+0

可有人PLZ幫助我,緊急..我看到這些工作在google.com的搜索文本字段。但不是在我的應用程序:(任何想法? – user1771980 2013-02-13 21:11:26

+2

@ user1771980,你試過讓開發者看看他們正在收聽什麼事件嗎? – 2013-02-14 14:05:04

0

由於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"> 

它看起來像元素被監聽這些事件(通過道場):onfocusonbluronKeyUp

要觸發這些事件,您需要使用如下所示:

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

如果你想提交表單,你可能需要點擊提交按鈕(既然你提到打:enter):

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

如果你真的想只發送:enter鍵,的一個其他答案應該工作。