InvalidSelectorError:xpath表达式的结果是[object Text]。应该是一个要素

2 javascript xpath protractor

我有以下代码:

//html
<div>
   <span>Sort Order</span>
   <select id="sortOrderSelect">
      <option value=0>Descending</option>
      <option value=1>Ascending</option>
   </select>
</div>

//test
it('Check it has 2 options', function () {
   var selectCount = element.all(by.xpath('//*[@id="sortOrderSelect"]/child::node()'));
   expect(selectCount.count()).toBe(2);
});
Run Code Online (Sandbox Code Playgroud)

我收到下面的错误。有人可以向我解释该错误是什么意思吗?我该如何解决呢?

InvalidSelectorError:xpath表达式“ // * [@ id =” sortOrderSelect“] / child :: node()”的结果为[对象文本]。它应该是一个元素。

har*_*r07 5

该XPath可以返回text节点或element:

//*[@id="sortOrderSelect"]/child::node()
Run Code Online (Sandbox Code Playgroud)

但是似乎您正在使用的库仅支持返回element的XPath表达式:

//*[@id="sortOrderSelect"]/*
Run Code Online (Sandbox Code Playgroud)