используя регулярное выражение в watin - PullRequest
1 голос
/ 05 июля 2010

Я использую регулярное выражение в watin.

У меня есть что-то вроде: ie.Button(Find.ByName(new Regex(input))).Click();, но я не хочу нажимать на вторую или третью соответствующую кнопку, а не на первую.

Как я могу это сделать?

Ответы [ 3 ]

2 голосов
/ 05 июля 2010

Попробуйте это:

ie.Button(Find.ByName(new Regex(input)) && Find.ByIndex(1 /* or 2 */)).Click();
0 голосов
/ 04 ноября 2010

Во многих случаях я обнаруживаю необходимость выбрать более высокое значение, чем возвращаемое, потому что в конструкции find.by * () слишком мало квалификаторов.вы можете попробовать написать свой собственный для таких случаев, которые имеют больше смысла для вашего конкретного случая.

пример запроса linq:

var buttons = from e in browser.Buttons
            where e.Name == "Test" &&
            e.Text == "Button1"
            select e;

Нечто подобное позволит вам выбрать только то, что вы хотите,Это также дает вам возможность быстро проверить количество с помощью .ToList () @ в конце.или используйте следующий цикл foreach для завершения необходимых действий.

0 голосов
/ 05 июля 2010

Попробуйте это:

    ButtonCollection buttonCol = ie.Buttons;
    buttonCol = buttonCol.Filter(Find.ByName(new Regex(input)));
    buttonCol[1].Click();
    buttonCol[2].Click();
...