无法在下拉javascript-protractor-jasmine中选择一个选项

时间:2018-12-13 14:28:40

标签: javascript jasmine protractor

在下面的代码中,它打印出选项文本,但未单击元素。

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操作。

1 个答案:

答案 0 :(得分:0)

发生这种情况是因为each()同时针对所有元素触发了操作。尝试使用elementArrayFinder进行迭代。获取(arrayFinderIndex)