在下面的代码中,它打印出选项文本,但未单击元素。
element.all(by.xpath(xpath_of_an_option_in_dropdown)).each(function(item)
{
item.getText().then(function(value)
{
logger.log('info','----------'+value);
item.click();
});
});
同一网页中的其他下拉菜单都可以正常工作,但该下拉菜单除外。 另外请注意,上面的xpath是这样编写的,以便它仅返回下拉菜单的一个选项。
HTML代码:
<div style="width: 300px" class="ng-star-inserted">
<select class="abc-inputBox ng-untouched ng-pristine ng-valid">
<option value="null">None selected</option>
<!---->
<option value="27: _GroupByServiceA" class="ng-star-inserted"> ServiceA </option>
<option value="28: _GroupByServiceB" class="ng-star-inserted"> ServiceB </option>
</select>
</div>
我还使用了以下代码:
element(by.cssContainingText('option','ServiceA')).click();
但它不起作用。没有错误,但执行bo操作。
答案 0 :(得分:0)
发生这种情况是因为each()
同时针对所有元素触发了操作。尝试使用elementArrayFinder进行迭代。获取(arrayFinderIndex)