单击列表中具有类似ngcontent类名但具有使用Protractor typescript的span唯一文本的特定项目



我需要帮助创建量角器类型脚本代码,如何在列表中单击此特定项目?它有与其他类似的ngcontent,但有特定的span文本,有人知道如何做到这一点吗?网站上的代码是:

<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.csContainingText(….

试试这个:

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

试试上面的那个。希望它能帮助你

最新更新