点击列表中具有ngcontent类名相似的特定项目,但是使用量角器打字稿

时间:2018-11-29 10:08:25

标签: angular typescript jasmine protractor

我需要有关创建量角器打字稿代码的帮助,如何单击列表中的此特定项目?它具有与他人相似的_ngcontent,但具有特定的跨度文本,有人知道如何执行此操作吗?该网站上的代码是:

<div _ngcontent-c3  class="ListTreeNode addTreeNode ng-star-inserted" style="padding-left: 0px;"> ... </div>
<div _ngcontent-c3  class="ListTreeNode addTreeNode ng-star-inserted" style="padding-left: 0px;">
     <div _ngcontent-c3  class="nodeItemlist net-body-2">
         <!----><!---->
             <fa-icon _ngcontent-c3   class="ng-fa-icon ng-star-inserted">...</fa-icon>
              <!----><!---->
              <span _ngcontent-c3="">Driver Items</span>
              <!---->
        </div>
</div>
<div _ngcontent-c3  class="ListTreeNode addTreeNode ng-star-inserted" style="padding-left: 0px;"> ... </div>

我在下面尝试了以下方法,但似乎无法使其工作...

clickditem = element(by.xpath('//span[@class=".nodeItemlist.net-body-2"][text()="Driver Items"]'));
clickditem = element(by.cssContainingText('.nodeItemlist.net-body-2','Driver Items'));
clickditem = element(by.cssContainingText('.ng-fa-icon.ng-star-inserted','Driver Items'));

他们表演了...

clickditem.click();

这些似乎都不起作用,错误提示:失败:使用定位符未找到任何元素:By(xpath .....或by.cssContainingText(....

2 个答案:

答案 0 :(得分:0)

尝试一下:

clickditem = element.all(by.cssContainingText('div.nodeItemlist.net-body-2','Driver Items')).get(0);

答案 1 :(得分:0)

clickditem = element(by.cssContainingText('div.odeItemlist.net-body-2>span','Driver Items')).first();

尝试上面的一个。希望对您有帮助