如何使用 Watin 单击 AutoCompleteExtender
-
09-06-2019 - |
题
对于我的验收测试,我正在将文本写入自动完成扩展器中,并且需要单击填充的列表。
为了填充列表,我必须使用 AppendText 而不是 TypeText,否则文本框在填充列表之前会失去焦点。
现在我的问题是当我尝试单击填充的列表时。我尝试搜索 UL 元素并单击它;但它不会触发列表上的单击事件。
然后我尝试按标记名和值搜索列表:
Element element = Browser.Element(Find.By("tagname", "li") && Find.ByValue("lookupString"));
但它没有找到它,有人能够做我想做的事情吗?
解决方案
其较短版本是:
string lookupString = "string in list";
Element list = Browser.Element("li", Find.ByText(new Regex(lookupString)));
list.MouseDown();
正则表达式将进行部分匹配,因此您不需要 需要 指定 .* 任一侧并使用 string.Format。然而,这假设lookupString不包含任何正则表达式特有的字符,它们需要被转义。
其他提示
万一有人遇到同样的问题。它适用于下一个代码:
string lookupString = "string in list";
Regex lookup = new Regex(string.Format(".*{0}.*", lookupString));
Element list = Browser.Element("li", Find.ByText(lookup));
list.MouseDown();
不隶属于 StackOverflow