如何获取行号,以便该行应在量角器中包含特定文本

时间:2018-11-26 06:58:14

标签: protractor cucumberjs

我正在使用量角器黄瓜框架。我需要单击表行中的'td'元素。在所有表行中,我决定单击一行,因此该行应包含一个特定的text(让我们说“已发布”)。我能够获取该文本,但是click函数在该行的另一列上实现。因此,我需要获取包含该文本的行号,以便使用该行计数能够点击具有点击功能的其他列元素。下面是表格行之一的html代码。

<tr class="K7hAcc QwxBBf" for="iBW8sb0" jsshadow="">
  <td class="XgRaPc AB6Eee RdU54d IRKtVe PLK3Id hhyjHe">
    <content class="zRhise">
      <a class="GRgXff sV" href="https://business.google.com/dashboard/l/16047977676197040292">
        <span class="j5emz">Cavender's Boot City</span><br>
        <span class="D0EYxd">303 NW Loop 410, San Antonio, TX 78216, United States</span>
      </a></content></td>
  <td class="XgRaPc AB6Eee RdU54d IRKtVe">
    <content class="zRhise"><svg viewBox="0 0 24 24" class="zQoJdc P6t5mb"><path d="M0 0h24v24H0z" fill="none"></path><path d="M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2zm-2 15l-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8l-9 9z"></path></svg>
      <span class="StcyZc">Published</span>
    </content></td>
  <td class="XgRaPc AB6Eee RdU54d IRKtVe">
    <content class="zRhise"><div class="ypExpf"></div>
    </content></td>
</tr>

谢谢。

2 个答案:

答案 0 :(得分:0)

<ul>
  <li class="pet">Dog</li>
  <li class="pet">Cat</li>
</ul>
Code
// Returns the li for the dog, but not cat.
var dog = element(by.cssContainingText('.pet', 'Dog'));

请参考上面的代码。确保您具有正确的CSS,然后将Dog替换为Published。

希望它对您有帮助

答案 1 :(得分:0)

在这种情况下,您可以使用XPath,例如:

var yourvariable = element(by.xpath('//span[text()="Published"]/ancestor::td'));

PS。不是CSS代码,而是HTML