我正在尝试在嵌套转发器中找到一个元素,但我不确定如何解决它。
默认情况下,HTML看起来如下(编辑它以便于理解)
<div ng-repeat = "Repeater1">
<div ng-repeat = "Repeater2"> Text1 </div>
<div ng-repeat = "Repeater2"> Text2 </div>
<div ng-repeat = "Repeater2"> Text3 </div>
</div>
页面上有一个按钮view more
,它会在页面上显示另外三个项目。因此,点击view more
按钮后,HTML看起来就像是
<div ng-repeat = "Repeater1">
<div ng-repeat = "Repeater2"> Text1 </div>
<div ng-repeat = "Repeater2"> Text2 </div>
<div ng-repeat = "Repeater2"> Text3 </div>
</div>
<div ng-repeat = "Repeater1">
<div ng-repeat = "Repeater2"> Text4 </div>
<div ng-repeat = "Repeater2"> Text5 </div>
<div ng-repeat = "Repeater2"> Text6 </div>
</div>
如果页面上没有更多项目, view more
按钮将被禁用。
所以我的问题是:从默认页面(点击view more
按钮之前)如何找到元素 文字6 ?
测试应该做什么:
elementA
view more
并搜索elementA
view more
,然后搜索elementA
以下代码使用转发器进行搜索,但我不确定如何在嵌套转发器之间进行搜索
let filteredList = this.Repeater2Elem.filter((item) => {
return item.getText().then((text) => {
return bundle === "text 2";
});
}).first().element(by.buttonText('Element Found')).click();
答案 0 :(得分:0)
这取决于点击后出现的元素&#34;更多&#34;存在但不显示或根本不出现在DOM中。 假设元素在DOM中但未显示。 (下面显示的代码未经过测试)
dictionary= {'A':{'C':['D','E'],'F':['G','I','O']},'B':{'H':['J','K'],'L':['M','N']}}
首先获取所需的元素,然后通过点击递归查看更多信息来显示它。按钮。