在我的应用程序中,使用xpath(firepath ext)搜索时会有一个元素列表。它如下所示:
import UIKit
class PageContentViewController: UIViewController {
@IBOutlet weak var lblTitle: UILabel!
@IBOutlet weak var imageView: UIImageView!
var pageIndex: Int = 0
var strTitle: String!
var strPhotoName: String!
override func viewDidLoad() {
super.viewDidLoad()
imageView.image = UIImage(named: strPhotoName)
lblTitle.text = strTitle
}
}
我需要遍历这些,因此我想到了捕获并将它们存储在
中<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>
但是当我检查下面显示的尺寸时,它只返回1个元素。
@FindAll({@FindBy(xpath = "//*[@id='add_new_address']/div[5]/i")})
private List<WebElement> ctrlPtORCancelBtn;
public List<WebElement> getCtrlPtORCancelBtn() {
return ctrlPtORCancelBtn;
}
我无法理解为什么元素的大小只有1而不是8。
我该如何处理这个问题。任何帮助表示赞赏。
ctrlPtORCancelBtn().size()
答案 0 :(得分:1)
尝试在HTML面板中检查相同的内容,看看你看到多少个元素(非灰色的一个)使用FirePath有一些缺点(尽管它是我迄今为止用于定位元素的最佳工具)。 .HTML面板应该给你一个清晰的图片......如果没有,那么尝试使用WebDriverWait.presenceOfAllElementsLocatedBy()
定位元素,看看它返回了多少元素