如何使用Watin单击AutoCompleteExtender

如何使用Watin单击AutoCompleteExtender

How to click on an AutoCompleteExtender with Watin

对于验收测试,我正在将文本写入自动完成扩展器,并且需要单击填充列表。

为了填充列表,我必须使用AppendText而不是TypeText,否则在填充列表之前,文本框会失去焦点。

现在我的问题是当我尝试单击填充列表时。我尝试搜索UL元素并单击它;但它不会触发列表上的click事件。

然后我尝试按标记名和值搜索列表:

1
Element element = Browser.Element(Find.By("tagname","li") && Find.ByValue("lookupString"));

但找不到它,有人能做我想做的事吗?


它的简称是:

1
2
3
string lookupString ="string in list";
Element list = Browser.Element("li", Find.ByText(new Regex(lookupString)));
list.MouseDown();

正则表达式将进行部分匹配,因此您无需在任何一侧都指定。*并使用string.Format。但是,这假定lookupString不包含正则表达式专用的任何字符,需要对其进行转义。


如果有人遇到相同的问题。它可以与下一个代码一起使用:

1
2
3
4
string lookupString ="string in list";
Regex lookup = new Regex(string.Format(".*{0}.*", lookupString));
Element list = Browser.Element("li", Find.ByText(lookup));
list.MouseDown();

推荐阅读