首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用html选择列表项的范围

如何使用html选择列表项的范围
EN

Stack Overflow用户
提问于 2018-09-18 05:44:11
回答 2查看 61关注 0票数 0

我的申请表上有一份清单。列表分为“当前查看”、“最近查看”和“人员”等部分。所有列表元素共享相同的类,因此不能直接标识最近查看的部分中的列表元素。

我尝试了以下几点:

代码语言:javascript
运行
复制
RecentlyViewed(".list-group-item:nth-of-type(3)"
        .concat("~ .list-group-item:nth-of-type(4)"))

但这似乎只返回一个列表项,而不是两者都返回。

返回列表中的第3项和第4项的指针吗?

顺便将上面的定位器传递给如下方法:

代码语言:javascript
运行
复制
private WebElement sectionSearch(String locator, String empName) {
    return wait.andGetAllElements(locator).stream()
        .filter(ele -> ele.getAttribute("data-empno").equals(empName))
        .findFirst()
        .orElseThrow(() -> new RuntimeException("Could not find employee: ".concat(empName)
          .concat(" in element : ").concat(locator)));
  }

对于传递给搜索函数的列表项,我有什么想法吗?

html如下:

代码语言:javascript
运行
复制
<div id="context-selector-search-results" class="list-group list-group-menu"><h4 class="text-muted">You are signed in as...</h4><li class="list-group-item list-group-item-split">

            <a href="" class="list-group-item-link" data-empno="3000" data-url="api/context/select/3000"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="file/photo/T000~|~3000~|~2915483350193499~|~GIF~|~1~|~ok.gif" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">3000</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">MANAGER3000, Mary G</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><h4 class="text-muted">Currently viewing...</h4><li class="list-group-item list-group-item-split active active-warning">

            <a href="" class="list-group-item-link" data-empno="5029" data-url="api/context/select/5029"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">5029</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">EMPLOYEE, Earl</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><h4 class="text-muted">Recently viewed...</h4><li class="list-group-item list-group-item-split">

            <a href="" class="list-group-item-link" data-empno="5029" data-url="api/context/select/5029"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">5029</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">EMPLOYEE, Earl</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">

            <a href="" class="list-group-item-link" data-empno="5027" data-url="api/context/select/5027"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">5027</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">EMPLOYEE, Earlene</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><h4 class="text-muted">My staff</h4><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="JETSON, Jane" data-expand-id="E~4112016">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="4112016" data-url="api/context/select/4112016"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="file/photo/T000~|~4112016~|~2915756609048099~|~PNG~|~1~|~janejetson.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">4112016</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">JETSON, Jane</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="PERSON130218, Eric" data-expand-id="E~130218">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="130218" data-url="api/context/select/130218"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">130218</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">PERSON130218, Eric</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="ROBOTS, Eric" data-expand-id="E~3001">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="3001" data-url="api/context/select/3001"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">3001</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">ROBOTS, Eric</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="SNODGRASS, Harold" data-expand-id="E~3003">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="3003" data-url="api/context/select/3003"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">3003</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">SNODGRASS, Harold</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="SNODGRASS, Harold" data-expand-id="E~3004">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="3004" data-url="api/context/select/3004"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="assets/ui/img/avatar.png" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">3004</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">SNODGRASS, Harold</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="VON DA EMPLOYEE, Eric" data-expand-id="E~5031">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="5031" data-url="api/context/select/5031"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="file/photo/T000~|~2031~|~2915405557111499~|~JPEG~|~1~|~0A1BE6FA-43C4-4E85-A110-9F797A9525E6.jpeg" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">5031</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">VON DA EMPLOYEE, Eric</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li><li class="list-group-item list-group-item-split">
            <a href="" class="list-group-item-more" data-display-name="WAYNE, Bruce" data-expand-id="E~80000">
          <span class="tag tag-pill tag-primary hidden-xs-down float-xs-right">20</span>
        </a>
            <a href="" class="list-group-item-link" data-empno="80000" data-url="api/context/select/80000"><div class="media">
          <div class="media-left">
            <img class="context-selector-search-results-item-image media-object rounded-circle img-avatar" alt="Avatar" src="file/photo/T000~|~80000~|~2915797423381199~|~JPG~|~1~|~bruce-wayne_197x282.jpg" data-holder-rendered="true">
          </div>
          <div class="media-body">

            <small class="context-selector-search-results-item-empno">80000</small>
            <br>
            <strong class="context-selector-search-results-item-display-name">WAYNE, Bruce</strong>
            <br>

            <small class="context-selector-search-results-item-unit">Manufacturing Division</small><br>

          </div>
        </div></a>
        </li></div>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2018-09-18 19:40:21

可以这样做的一种方法是使用XPath。如果将empno传递给函数,然后将其插入到下面的XPath中,它将返回查找元素之前的第一个h4。然后,你可以将它与你期望的东西相匹配,等等。

代码语言:javascript
运行
复制
//a[@data-empno='4112016']/preceding::h4

这个还“我的员工”

您将插入您的变量,如

代码语言:javascript
运行
复制
"//a[@data-empno='"+ empno + "']/preceding::h4"
票数 0
EN

Stack Overflow用户

发布于 2018-09-20 22:37:39

我成功地使用以下xpath解决了问题:

代码语言:javascript
运行
复制
//h4[contains(text(),'My staff')]/following::a[@*[starts-with(name(), 'data-em')]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52379647

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档