如何使用Watin单击AutoCompleteExtender
时间:2020-03-05 18:49:42 来源:igfitidea点击:
为了进行验收测试,我正在将文本写入自动完成扩展器,并且需要单击填充列表。
为了填充列表,我必须使用AppendText而不是TypeText,否则在填充列表之前,文本框会失去焦点。
现在我的问题是当我尝试单击填充列表时。我尝试搜索UL元素并单击它;但它不会触发列表中的click事件。
然后,我尝试通过标记名和值搜索列表:
Element element = Browser.Element(Find.By("tagname", "li") && Find.ByValue("lookupString"));
但找不到,有人能做我想做的事吗?
解决方案
回答
万一有人有同样的问题。它可以与下一个代码一起使用:
string lookupString = "string in list"; Regex lookup = new Regex(string.Format(".*{0}.*", lookupString)); Element list = Browser.Element("li", Find.ByText(lookup)); list.MouseDown();
回答
较短的版本是:
string lookupString = "string in list"; Element list = Browser.Element("li", Find.ByText(new Regex(lookupString))); list.MouseDown();
正则表达式将进行部分匹配,因此我们无需在任何一侧都指定。*并使用string.Format。但是,这假定lookupString不包含Regexs专用的任何字符,需要对其进行转义。