Angular JS,Protractor定位器,获得元素的直接子元素

时间:2015-04-03 08:32:29

标签: javascript angularjs protractor

我有一个网格,我想从中选择所有行,而不是行

中的所有元素

行只是div,没有类等等,类似这样的内容(为简洁而删除内部内容)

<div class="grid">
    <div></div>
    <div></div>
    <div></div>
    <div></div>
    <div></div>
</div>

通常使用量角器定位器,你可以去element(by.css(".grid > div"))

我遇到的问题是网格已经是量角器元素,我无法控制它,但我仍然只想选择它的直接子节点。

var gridElement = element(by.css(".grid"));

所以我需要像

这样的东西
var rows = gridElement.all(by.css("> div"));

但这不是一个有效的CSS选择器,因为它缺少左侧。有谁知道我怎么能做到这一点?

编辑:使用量角器1.0,不幸的是,更新版本是最后的手段

2 个答案:

答案 0 :(得分:9)

您也可以使用by.xpath()解决问题:

var rows = gridElement.all(by.xpath("./div"));

答案 1 :(得分:-1)

凯西说,这应该有效:

var rows = gridElement.all(by.css("div:first-child"));