使用parentElementArrayFinder定位父元素

ale*_*cxe 18 javascript selenium selenium-webdriver protractor

根据我的理解,对象上有一个parentElementArrayFinder属性ElementFinder可以返回当前的父元素:

var myElement = $(".myclass");
var parentElement = myElement.parentElementArrayFinder;
Run Code Online (Sandbox Code Playgroud)

但是,它没有记录为Protractor的公共API的一部分.是parentElementArrayFinder一个可靠而稳定的方法来定位父元素,并始终返回相同的元素myElement.element(by.xpath(".."))

ale*_*cxe 2

总结评论、现有答案、我的观察和源代码,parentElementArrayFinder应该而且只能在您获取的元素parentElementArrayFinder是从元素“链接”时使用。

这将起作用:

var parent = element(by.css(".parent"));
var child = parent.element(by.css(".child"));

child.parentElementArrayFinder  # link to "parent" - defined
Run Code Online (Sandbox Code Playgroud)

这不会:

var child = element(by.css(".child"));

child.parentElementArrayFinder  # no link to "parent" - undefined
Run Code Online (Sandbox Code Playgroud)