【问题标题】:How to click on an AutoCompleteExtender with Watin如何使用 Watin 点击 AutoCompleteExtender
【发布时间】:2008-09-08 22:25:48
【问题描述】:

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

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

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

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

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

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

【问题讨论】:

    标签: watin autocompleteextender


    【解决方案1】:

    简短的版本是:

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-08-03
        • 1970-01-01
        • 2013-07-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多