我在watin中使用正则表达式。
我有类似的话:ie.Button(Find.ByName(new Regex(input))).Click();
但我不想点击匹配的第二个或第三个按钮而不是第一个按钮。
我该怎么做?
答案 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循环来完成所需的操作。