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