如何检查元素是否实际持有某些数据

时间:2015-07-30 09:55:40

标签: c# selenium

我的问题是我正在尝试测试元素是否存在,但我希望能够检查该元素是否实际上存在某些数据,或者它只是空的。

我正在搜索的元素看起来像这样:

<ul class="list-unstyled">

            </ul>

显然这个无序列表是空的。如何查看是否有内部数据?有什么建议吗?

2 个答案:

答案 0 :(得分:0)

您可以通过以下方式查询: -

driver.findElement(By.xpath("\\ul[@class='list-unstyled']")).getText();

getText()将尝试从元素中检索数据。然后你可以检查它是否为空白。

答案 1 :(得分:0)

A)

假设您通过FindElement获取UL节点,您始终可以使用其FindElements方法在IWebElement中进行搜索。

var ulElements = driver.FindElements(By.XPath("your xpath"));
foreach (var ulElement in ulElements)
{
    var contentElements = ulElement.FindElements(By.CssSelector("your css"));
    if (...) {}
}

......或...... b)中

请注意,您可以通过XPath或CssSelector进行搜索。如果您选择主要通过CssSelector进行搜索,那么您可以形成一个至少具有LI的UL选择器。但这不是关于Selenium既不是C#,所以我建议它专门问这个(有LI的UL)作为一个单独的问题并用CSS标记它然而这个选择器臭名昭着它在当前CSS规范中不存在但是谁知道什么未来带来了