如何从量角器的父元素中为子元素编写xPath

时间:2019-05-14 05:16:51

标签: angularjs xpath protractor

我正在量角器测试中,按类找到了一个元素。现在,我想根据我之前发现的元素找到它的同级。

如下面的代码所示,我已经使用“ element(by.css(locate))”找到了跨度。现在,基于此元素,我想单击“ a”链接。在具有不同类名的页面上,有很多类似的跨度。因此,我想根据所选的班级跨度单击到特定的“ a”标签。

<div>
<span class="123456">
</span>
<a ng-click="openLink()" class="ng-binding">temp</a>

</div>

我希望单击“ a”元素,但不能使用“ element(by.css('[ng-click =“ openlink”]')))”,因为其中包含很多“ a”标签同样ng-点击页面。

我尝试了下面的代码,但是没有用。

        locate = ".123456";
        var icon = element(by.css(locate));
        element(by.xpath(icon + ' > a')).click();

4 个答案:

答案 0 :(得分:0)

尝试以下一个

var ele = element(by.cssContainingText('div > a', 'temp'));

ele.click();

答案 1 :(得分:0)

我尝试使用以下内容。

element(by.xpath('// * [@ class =“ 123456”] / following-sibling :: a'))。click();

它已通过但未单击该元素。

答案 2 :(得分:0)

我正在为您提供用于在量角器测试案例中通过链接文本查找元素的代码。

这是代码示例:

var myElement = element(by.css('span.123456 + a'));
myElement.click();

上面的代码找到带有“ temp”文本的链接,然后单击它。

希望这会对您有所帮助。

答案 3 :(得分:0)

尝试以下xpath,然后单击元素。

element(by.xpath('//a[@class="ng-binding"][text()="temp"]')).click();