java – 如何检查元素是否包含特定的类属性

如何检查硒网络元素是否包含特定的css类.

我有这个html li元素

<li class="list-group-item ng-scope active" ng-repeat="report in lineageController.reports" ng-click="lineageController.activate(report)" ng-class="{active : lineageController.active == report}">

正如你可以看到类内部的属性一个活动的类.

我的问题是,我有这个元素,我想做一个检查,基于类属性是否具有这个“活动”的值,其他的,更优雅的解决方案,然后使用xpath.

我该怎么做?

解决方法

给定你已经找到你的元素,你想检查class-attribute中的某个类:
public boolean hasClass(WebElement element) {
    String classes = element.getAttribute("class");
    for (String c : classes.split(" ")) {
        if (c.equals(theClassYouAreSearching)) {
            return true;
        }
    }

    return false;
}

编辑

正如@aurelius正确指出的那样,还有一个更简单的方法

public boolean elementHasClass(WebElement element,String active) {
    return element.getAttribute("class").contains(active);
}

相关文章

HashMap是Java中最常用的集合类框架,也是Java语言中非常典型...
在EffectiveJava中的第 36条中建议 用 EnumSet 替代位字段,...
介绍 注解是JDK1.5版本开始引入的一个特性,用于对代码进行说...
介绍 LinkedList同时实现了List接口和Deque接口,也就是说它...
介绍 TreeSet和TreeMap在Java里有着相同的实现,前者仅仅是对...
HashMap为什么线程不安全 put的不安全 由于多线程对HashMap进...