Рекомендуемый способ нахождения родительского элемента в Protractor

В соответствии с недавно опубликованным Руководством по стилю использование локаторов by.xpath() считается плохой практикой. Я на самом деле пытаюсь следовать этому предложению, но встал на получение родительского элемента.

В настоящее время мы используем выражение .. XPath для перехода к родительскому элементу:

this.dashboard = element(by.linkText("Dashboard")).element(by.xpath("..")); 

Как я могу найти родительский элемент, используя другие встроенные в локаторы Protractor/WebDriverJS?

Ответ 1

Пока я копирую Руководство по стилю и соглашаюсь с тем, что xpath следует избегать, всегда существует исключение, которое доказывает правило. Я думаю, что это один из таких случаев:)

Ответ 2

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

myElement.parentElementArrayFinder.click();