Java 如何使用SeleniumWebDriver避免隐藏类

Java 如何使用SeleniumWebDriver避免隐藏类,java,selenium,selenium-webdriver,classname,ng-hide,Java,Selenium,Selenium Webdriver,Classname,Ng Hide,我试图引用一个使用classname和selenium的类,但同一个类得到了一个隐藏标记,该标记具有完全相同的名称和除ng show=false之外的所有其他值 详情如下: ul class="nav nav-pills nav-stacked ng-hide" ng-show="false" <br> ul class="nav nav-pills nav-stacked" ul class=“nav nav药丸nav堆叠ng hide”ng show=“false” ul cl

我试图引用一个使用classname和selenium的类,但同一个类得到了一个隐藏标记,该标记具有完全相同的名称和除ng show=false之外的所有其他值

详情如下:

ul class="nav nav-pills nav-stacked ng-hide" ng-show="false" <br>
ul class="nav nav-pills nav-stacked"
ul class=“nav nav药丸nav堆叠ng hide”ng show=“false”
ul class=“导航丸导航堆叠”
如何引用第二个标签?

我没有尝试@tabIndex,因为有时隐藏的标签不止一个。

您可以通过缺少的类
ng hide
找到。查找具有类的元素
nav nav药丸nav堆叠
但不
ng隐藏

driver.findElement(By.cssSelector(".nav.nav-pills.nav-stacked:not(.ng-hide) > div"));
或者没有
ng show=“false”


很抱歉之前没有正确地提出问题。但是我试图引用上面提到的ul类中的Div Class标记。此div类标记未提及ng hide/show。希望我在这里说清楚。。提前感谢。@megan假设
标记是直接子项,只需在末尾添加
>div
,这将为您提供带有
标记的直接子项。我也把它添加到了我的答案中。是的,但是它给出了所有带有in的div标签。我可以把它限制在第一个div标签上吗。感谢大家把类名和div一起给它起作用。谢谢你们的帮助@家伙
driver.findElement(By.cssSelector(".nav.nav-pills.nav-stacked:not([ng-show='false']) > div"));