xpath在chrome控制台中工作,但不在protractor脚本中

时间:2016-04-04 08:12:27

标签: google-chrome xpath console protractor

html:

<div class="view doc">
  <div class="view-doc-heading-dec mt10 ng-binding" id="docSummaryHeader">   Document Title </div>
  <div class="view-doc-inner mt11 ng-binding" id="docBodyHeader">
</div>

我想检索&#39;文件标题&#39;在上面带有xpath的元素:

$x('//*[@id=docSummaryHeader]')[0]

适用于Chrome控制台

element(by.xpath('//*[@id=docSummaryHeader]')) 
量角器中的

不允许[0]

如果我使用

element(by.xpath('//*[@id=docSummaryHeader]')) 

它在当前的html中提供了多个元素

2 个答案:

答案 0 :(得分:0)

查找all elements并按索引获取所需的一个:

element.all(by.xpath('//*[@id="docSummaryHeader"]')).get(0);

或:

element.all(by.xpath('//*[@id="docSummaryHeader"]')).first();

或者,您可以使用XPath索引(从1开始):

element(by.xpath('//*[@id="docSummaryHeader"][1]'))

答案 1 :(得分:0)

实际上你不需要xpath:

$$('#docSummaryHeader').first();

请考虑使用CSS选择器。