2013-02-13 3 views
6

Мне нужно автоматизировать действие нажатия клавиши «Enter» на клавиатуре после ввода текста в текстовое поле. Я пробовал @browser.send_keys :enter но это не делает действие. также попробовали @browser.text_field(:name => 'q').send_keys :enter или @browser.text_field(:name => 'q').focus, а затем send_keys. Но не помогло.Как отправить штрих клавиши Enter в Watir

@browser.send_keys("{ENTER}") 

не помогает это тоже, это на самом деле типа ("{ENTER}")

Пожалуйста, дайте мне знать другие способы делать?

ответ

7

browser.send_keys :enter должен выполнить эту работу. Укажите ссылку на страницу, ссылку на аналогичную страницу или соответствующий HTML-код.

+0

<входной тип = "текст" размер = "30" класс = "SearchText" dojoattachpoint = "_ searchTextAP" ID = "xwt_widget_uishell_Header17_2_search_searchTextAP" dojoattachevent = "OnFocus: _onFocus_searchTextAP, ONBLUR: _onBlur_searchTextAP, OnKeyUp: _onKeyUp_searchTextAP"> – user1771980

+0

Может кто-то плз помогите мне, его срочно. Я вижу, что они работают в текстовом поле поиска google.com. Но не в моем приложении :(какие-то мысли? – user1771980

+2

@ user1771980, вы попросили разработчиков посмотреть, какое событие они слушают? –

5

Try browse.send_keys: возвращение нашел его здесь http://watirmelon.com/about/

+1

Вот [Полный список специальных ключей] (http://watirmelon.com/2011/07/19/отправки-специальные клавиши-к-Watir-WebDriver /) – TrinitronX

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

Похоже, что элемент прослушивания этих событий (через додзё): onfocus, onblur, onKeyUp

Чтобы активировать эти события, вам необходимо использовать примерно следующее:

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 ключ, один из другие ответы должны работать.

Смежные вопросы