在watin中使用正则表达式

时间:2010-07-04 23:31:09

标签: c# watin

我在watin中使用正则表达式。

我有类似的话:ie.Button(Find.ByName(new Regex(input))).Click(); 但我不想点击匹配的第二个或第三个按钮而不是第一个按钮。

我该怎么做?

3 个答案:

答案 0 :(得分:2)

试试这个:

ie.Button(Find.ByName(new Regex(input)) && Find.ByIndex(1 /* or 2 */)).Click();

答案 1 :(得分:0)

试试这个:

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

答案 2 :(得分:0)

很多时候我发现需要选择高于第一次返回的是因为find.by *()构造中的限定符太少了。你可以尝试自己编写这样的案例,这对你的特定情况更有意义。

示例linq查询:

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

这样的东西只允许你选择你想要的东西。它还为您提供了一种使用.ToList()@快速检查计数的方法。或者使用foreach循环来完成所需的操作。