在我的应用程序中,当使用xpath (firepath )搜索元素时,有一个元素列表。如下所示:
<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>我需要迭代这些,因此我想捕获它们并将它们存储在
@FindAll({@FindBy(xpath = "//*[@id='add_new_address']/div[5]/i")})
private List<WebElement> ctrlPtORCancelBtn;
public List<WebElement> getCtrlPtORCancelBtn() {
return ctrlPtORCancelBtn;
}但是,当我检查大小时,如下所示,它只返回一个元素。
ctrlPtORCancelBtn().size()
我不明白为何元素的大小是1而不是8。
我该如何处理这个问题。任何帮助都很感激。
<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>发布于 2016-06-01 14:56:31
试着在HTML中检查相同的东西,看看你看到了多少个元素(非灰色的)--使用FirePath有一些缺点(尽管这是我迄今见过的定位元素的最好工具),..HTML面板应该给出一个清晰的picture..and,如果没有,那么尝试使用WebDriverWait.presenceOfAllElementsLocatedBy()定位元素,看看它返回了多少元素。
https://stackoverflow.com/questions/37571575
复制相似问题