【问题标题】:How to avoid the hidden classes using selenium webdriver如何使用 selenium webdriver 避免隐藏类
【发布时间】:2016-07-09 22:55:24
【问题描述】:

我正在尝试使用带有 selenium 的类名来引用一个类,但是同一个类得到了一个隐藏标签,该标签具有完全相同的名称和除 ng-show=false 之外的所有其他值

如下:

ul class="nav nav-pills nav-stacked ng-hide" ng-show="false" <br>
ul class="nav nav-pills nav-stacked"

如何引用第二个标签?
我没有尝试@tabIndex,因为有时隐藏的标签不止一个。

【问题讨论】:

    标签: java selenium selenium-webdriver classname ng-hide


    【解决方案1】:

    你可以通过缺课ng-hide找到。查找元素女巫有课程 nav nav-pills nav-stacked 但不是ng-hide

    driver.findElement(By.cssSelector(".nav.nav-pills.nav-stacked:not(.ng-hide) > div"));
    

    或者没有ng-show="false"

    driver.findElement(By.cssSelector(".nav.nav-pills.nav-stacked:not([ng-show='false']) > div"));
    

    【讨论】:

    • 很抱歉之前没有正确地提出问题。但我试图在上面提到的 ul 类中引用 Div Class 标签。这个 div 类标签没有提到 ng-hide/show。希望我在这里很清楚..提前谢谢。
    • @megan 假设 &lt;div&gt; 标签是直接孩子,只需在末尾添加 &gt; div,这将为您提供带有 &lt;div&gt; 标签的直接孩子。我也将它添加到我的答案中。
    • 是的,但它给出了所有的 div 标签。我可以将它限制为第一个 div 标签。谢谢
    • 通过给出类名和 div 让它工作。谢谢你的帮助! @Guy
    猜你喜欢
    • 2011-07-19
    • 1970-01-01
    • 2020-07-31
    • 2013-07-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-04
    相关资源
    最近更新 更多