Подтвердить что ты не робот

Как получить родительский элемент

Например, я случайно выбираю элемент button из строк table.
После того, как найден button, я хочу получить строку table, содержащую выбранную кнопку.

Heres - это мой фрагмент кода:

browser.findElements(by.css('[ng-click*=submit]')).then(function (results) {
  var randomNum = Math.floor(Math.random() * results.length);
  var row = results[randomNum];
         // ^ Here I want to get the parent of my random button
});
4b9b3361

Ответ 1

Решено использовать xpath.

var row = results[randomNum].findElement(by.xpath('ancestor::tr'));

Ответ 2

Как и в случае с последним Транспортером (1.6.1 на момент написания), синтаксис немного изменился:

var row = results[randomNum].element(by.xpath('..'));

(используйте element() вместо findElement()).

Ответ 4

На самом деле, на данный момент существует более простой способ выбрать родителя элемента, избегая использования xpath. Из ElementFinder вы можете просто получить доступ к родительскому элементу через parentElementArrayFinder и, например, затем запустить непосредственно метод click:

myElement.parentElementArrayFinder.click();