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

时间:2014-09-13 13:00:58

标签: 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);
});

我收到以下错误。有人可以向我解释这个错误意味着什么吗?我该如何解决?

  

InvalidSelectorError:xpath表达式的结果   “// * [@ id =”sortOrderSelect“] / child :: node()”是[object Text]。这应该   是一个元素。

1 个答案:

答案 0 :(得分:4)

此XPath可以返回文本节点或元素:

//*[@id="sortOrderSelect"]/child::node()

但是您使用的库似乎只支持返回元素的XPath表达式:

//*[@id="sortOrderSelect"]/*