Javascript 量角器-通过类名和文本定位元素

Javascript 量角器-通过类名和文本定位元素,javascript,protractor,Javascript,Protractor,在我的web应用程序中,有些列出的项确实共享我们的自动测试套件使用的公共类名。现在,我必须单击特定的元素,并需要通过它的类和该元素的文本来定位它 以下是一个例子: <ul> <li class="autotest-list">Milk</li> <li class="autotest-list">Sugar</li> <li class="autotest-list">Candy</li> &l

在我的web应用程序中,有些列出的项确实共享我们的自动测试套件使用的公共类名。现在,我必须单击特定的元素,并需要通过它的类和该元素的文本来定位它

以下是一个例子:

<ul>
   <li class="autotest-list">Milk</li>
   <li class="autotest-list">Sugar</li>
   <li class="autotest-list">Candy</li>
</ul>
还是这个

element(by.className('autotest-list')&&text('Sugar');

提前谢谢大家

如果您不介意,可以使用.xpath的
by

element(by.xpath('li[@class="auto test-list" and text()="Sugar"]'))

如果您不介意的话,可以使用
by.xpath

element(by.xpath('li[@class="auto test-list" and text()="Sugar"]'))

duplicate of duplicate of duplicate of不必使用xpath,量角器有一个方法
cssContainingText
,用于通过文本查找元素cssContainingText工作正常,但也有一个限制,因为“包含”部分。在本例中:
  • 糖棒
  • 牛奶
    • 它将定位包含单词Sugar的第一个元素,这里是“糖棒”,这并不是有意的。无论如何,谢谢你@Gunderson@Alen那么您现在使用的是xpath了吗?不必使用xpath,量角器有一个方法
      cssContainingText
      用于通过文本查找元素cssContainingText工作正常,但它也有一个限制,因为“包含”部分。在本例中:
      • 糖棒
      • 牛奶
        • 它将定位包含单词Sugar的第一个元素,这里是“糖棒”,这并不是有意的。无论如何,谢谢你@Gunderson@Alen那么您现在正在使用xpath?
          element(by.cssContainingText('.autotest-list','Sugar')