量角器 - 找到元素"邻居"

时间:2016-11-02 08:57:42

标签: javascript testing xpath checkbox protractor

我目前正在使用量角器和phantomjs进行测试。

我尝试做的很简单,这是我的html代码,其中包含我想点击的元素。

<tr class="moo" role="foo"
    <td class="bar"
        <input class="toto" value="42" type="checkbox"></input>
    </td>
    <td class="titi"
        <a href="/path/to/something">Test</a>
    </td>
</tr>

在这里,我需要单击复选框元素,实际上很简单: element(by.xpath("//input[@type='checkbox']")).click();

但问题是有很多复选框元素,它们之间的唯一区别是&#34; a&#34;与更改的文本(在此示例中为测试)对齐。

我的问题是:如何指定我要点击复选框“&#34; a&#34;线是&#34;测试&#34; ?

1 个答案:

答案 0 :(得分:2)

使用CSS选择器查找行,然后使用单元格:

element(by.cssContainingText('tr[role="foo"]', 'Test'))
  .element(by.css('input'))
  .click();

或者使用XPath通过一次调用找到单元格:

element(by.xpath('//tr[td/a/text()="Test"]//input'))
  .click();