Транспортир: как найти родного брата данного элемента?
<div>
<a href='...'>LINK</a>
<img class='image' />
</div>
<div>
...
</div>
Я хочу получить элемент транспортира для тега img
с классом image
. Я уже знаю текст ссылки "LINK". Другими словами: "Как найти брата того или иного элемента?".
Первая строка кода может выглядеть так:
browser.findElement(by.linkText('LINK'))
Любые идеи?
Спасибо и приветствия
Ответы
Ответ 1
Спасибо за вдохновение. Здесь мое решение, а не то, на что я надеялся, но оно работает:
element(by.css('???')).element(by.xpath('..')).element(by.css('???')).click();
Цепочка и путь by.xpath, который позволяет вернуться к родительскому, являются ключами решения.
Ответ 2
Это то, что я на самом деле реализую в Object Page:
this.widgets['select-status'] = this.ids['select-status']
.element(by.xpath('following-sibling::div[1]'));
this.widgets['select-status.dropdown'] = element(by.css('.btn-group.bootstrap-select.open'));
Страница основана на Bootstrap вместе с Bootstrap Select. В любом случае, мы пересекаем DOM вдоль оси following-sibling
. Обратитесь к спецификации XPATH для себя.