WatiN, выбирающий правильную строку события для использования с FireEventNoWait для входного текстового поля - PullRequest
1 голос
/ 07 февраля 2012

Я хочу получить входное значение элемента <input type="text"> на лету (пока он набирается) и реализовать метод поиска с ним в качестве параметра.

У меня есть этот кусок кода:

_window.Frame(WatiN.Core.Find.ById("a_frame"))
    .TextField(WatiN.Core.Find.ById("an_element"))
    .FireEventNoWait("event_string", other params);

Какое событие, по вашему мнению, лучше всего подходит для этого? У меня есть некоторые мысли по поводу KeyPressed или KeyUp, но я хотел бы получить другие мнения по этому вопросу? Я искал TextChanged и некоторые подобные Event, но ничего не нашел.

1 Ответ

0 голосов
/ 12 марта 2012

Должны ли мы считать, что приведенный выше код не работает, или?Если больше ничего не работает, вы всегда можете выполнить цикл do сразу после того, как текстовое поле получает фокус, цикл do будет содержать следующие элементы:

Sleep 100
Doevents

И, конечно, после каждых 100 мс перерыва и Doevents вы можете проверитьПосмотрите, изменилось ли .value, и если да, запросите ваш поиск.Когда текстовое поле теряет фокус, вы останавливаете цикл.

Вы используете элемент управления веб-браузера, верно?И вы хотите сделать это с помощью элемента управления webbrowser в отличие от JavaScript?Потому что вы можете получать события keyup keydown через систему управления событиями webbrowser, и это было бы лучшим способом сделать это, но я не понимаю, кто, что, когда, почему, что вы делаете:)

...