Угловой JS, локатор транспортира, получить прямые потомки элемента
У меня есть сетка, из которой я хочу выбрать все строки и ни один из элементов внутри строк
Строки - это просто 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-селектор, так как отсутствует левая сторона. Кто-нибудь знает, как мне этого добиться?
РЕДАКТИРОВАТЬ: использование Protractor 1.0 и обновление версии, к сожалению, в крайнем случае
2 ответа
Вы также можете решить это с by.xpath()
:
var rows = gridElement.all(by.xpath("./div"));
Как сказал Кейси, это должно сработать:
var rows = gridElement.all(by.css("div:first-child"));