HTML代码
<li class="active-result result-selected group-option"
data-option-array-index="72">Information Technology and Services</li>
在量角器中进行自动化测试时,无法单击特定列表项。使用xpath我可以单击列表项但不使用xpath我必须这样做。
请帮帮我。
谢谢,
Raghavendra
答案 0 :(得分:0)
你的意思是ng-click?
<li ng-click="click(72)" class="active-result result-selected group-option"
data-option-array-index="72">Information Technology and Services</li>
在控制器中,使用
$scope.click = function(no) { console.info(no +" li clicked") }
答案 1 :(得分:0)
<input id="first-input" type="text"/>
<ul>
<li>1</li>
<li>2</li>
</ul>
<input id="second-input" type="text"/>
<ul>
<li>1</li>
<li>2</li>
</ul>
<input id="third-input" type="text"/>
<ul>
<li>1</li>
<li>2</li>
</ul>
元素(by.id(&#39;第二输入&#39))的元素。(by.xpath(&#39;以下同胞:: UL&#39;));
答案 2 :(得分:0)
您可以通过选择css而不是xpath来点击该项目。
element.all(by.css('.result-selected')).click();
当您的元素具有ng-click属性
时<li ng-click="selected(72)" class="active-result result-selected group-option"
data-option-array-index="72">Information Technology and Services</li>
答案 3 :(得分:-1)
使用此方法将单击列表中的元素
clickElementInList: function (list, item) {
list.reduce((result, element) => {
if (result) return result;
return element.getText().then((text) => {
if (text.toLowerCase().includes(item.toLowerCase())) return element;
});
}).then((element_found) => {
if (!element_found) throw new Error(item + " not found");
this.click(element_found);
});
},