0

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

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

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

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

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

但它没有找到它,有没有人能够做我想做的事?

4

2 回答 2

1

万一有人遇到同样的问题。它适用于下一个代码:

string lookupString = "string in list";
Regex lookup = new Regex(string.Format(".*{0}.*", lookupString));
Element list = Browser.Element("li", Find.ByText(lookup));
list.MouseDown();
于 2008-09-09T00:19:57.740 回答
1

较短的版本是:

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

正则表达式将进行部分匹配,因此您无需在任一侧指定 .* 并使用 string.Format。然而,这假设 lookupString 不包含任何对正则表达式特殊的字符,它们需要被转义。

于 2008-11-13T00:29:52.953 回答