Как заполнить определенное поле ввода с помощью WatiN, если несколько входов имеют одинаковое «Имя»? - PullRequest
3 голосов
/ 18 ноября 2011

Я использую WatiN и C #, чтобы заполнить форму онлайн, но мое поле поиска имеет то же имя, что и другой элемент.Мое поле поиска определено следующим образом:

<input type="text" value="" size="50" name="search">

В другом разделе того же экрана есть другое поле поиска, определенное как:

<input class="Search-TextBox" type="text" value="" size="15" name="search">

Я хочу заполнить ранееупомянутое поле поиска ввода текста.Есть ли способ найти и заполнить поле поиска в зависимости от размера?

У меня та же проблема с кнопкой Отправить в поле поиска.Это то же имя и размер, так как мне указать, на какой кнопке нажать кнопку поиска?

1 Ответ

4 голосов
/ 18 ноября 2011

Вы можете использовать любой из следующих механизмов

browserinstance.TextField(t => t.Name == "search" && t.GetAttributeValue("size") == "50").Value = "value";
//OR
browserinstance.TextField(Find.ByName("search").And(Find.By("size","50"))).Value = "value";

Если все атрибуты одинаковы, вы можете искать на основе порядка после получения отфильтрованного списка.

browserinstance.TextFields.Filter(Find.ByName("search"))[0].Value = "value";
...