硒。在定位器级别的列表中过滤元素

时间:2017-02-08 09:48:19

标签: java selenium

我有以下HTML:

<div class="aui-header-primary">
    <ul class="aui-nav __skate" style="width: auto;">
      <li>
      <li>
      <li>
      <li>
      <li id="create-menu">
  </ul>
</div>

在我的页面级别,我正在填充List,如下所示:

@FindBy(css = ".aui-header-primary ul li")
public List<WebElement> lstMenuItems;

我必须从列表中排除li id="create-menu"

目前我必须编写一个类似的函数:

if(!element.getText().equals("Create")){
      //populate list
 }

有没有办法在定位器级别这样做?所以我不必写其他功能?

1 个答案:

答案 0 :(得分:1)

尝试使用以下代码与XPath选择器:

@FindBy(xpath = "//div[@class='aui-header-primary']/ul/li[not(@id='create-menu')]")

同样适用于CSS选择器:

@FindBy(css = ".aui-header-primary ul li:not(#create-menu)")