首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用Firepath搜索时返回多个元素的xpath

使用Firepath搜索时返回多个元素的xpath
EN

Stack Overflow用户
提问于 2016-06-01 14:29:02
回答 1查看 369关注 0票数 0

在我的应用程序中,当使用xpath (firepath )搜索元素时,有一个元素列表。如下所示:

代码语言:javascript
复制
<i class="md-icon material-icons add_button">control_point</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons remove_class">cancel</i>
<i class="md-icon material-icons add_button remove_class">cancel</i>

我需要迭代这些,因此我想捕获它们并将它们存储在

代码语言:javascript
复制
@FindAll({@FindBy(xpath = "//*[@id='add_new_address']/div[5]/i")})
private List<WebElement> ctrlPtORCancelBtn;

public List<WebElement> getCtrlPtORCancelBtn() {
    return ctrlPtORCancelBtn;
}

但是,当我检查大小时,如下所示,它只返回一个元素。

ctrlPtORCancelBtn().size()

我不明白为何元素的大小是1而不是8。

我该如何处理这个问题。任何帮助都很感激。

代码语言:javascript
复制
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button">control_point</i>
</div>
</div>
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button remove_class">cancel</i>
</div>
</div>
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button remove_class">cancel</i>
</div>
</div>
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button remove_class">cancel</i>
</div>
</div>
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button remove_class">cancel</i>
</div>
</div>
<div id="add_new_address" class="uk-grid new_address" data-uk-grid-margin="">
<div class="uk-width-medium-1-5 md-input-filled uk-row-first">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5 md-input-filled">
<div class="uk-width-medium-1-5">
<i class="md-icon material-icons add_button remove_class">cancel</i>
</div>
</div>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-06-01 14:56:31

试着在HTML中检查相同的东西,看看你看到了多少个元素(非灰色的)--使用FirePath有一些缺点(尽管这是我迄今见过的定位元素的最好工具),..HTML面板应该给出一个清晰的picture..and,如果没有,那么尝试使用WebDriverWait.presenceOfAllElementsLocatedBy()定位元素,看看它返回了多少元素。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37571575

复制
相关文章

相似问题

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