style attribute javascript selenium selenium-webdriver protractor

javascript - attribute - title css



LocalizaciĆ³n de elementos padre con parentElementArrayFinder (2)

Hay un atributo parentElementArrayFinder disponible en un objeto ElementFinder que, según entiendo, puede devolver un elemento padre de la actual:

var myElement = $(".myclass"); var parentElement = myElement.parentElementArrayFinder;

Sin embargo, no está documentado como parte de la API pública de Protractor . ¿Es parentElementArrayFinder un método confiable y estable para ubicar un elemento padre y siempre devolvería el mismo elemento que myElement.element(by.xpath("..")) ?


Encontré el código para el ElementFinder here que tiene un prop para parentElementArrayFinder github.com/angular/protractor/blob/… .

De lo que he encontrado en el código. Se parentElementArrayFinder un error si parentElementArrayFinder no existe.

super(); if (!elementArrayFinder) { throw new Error(''BUG: elementArrayFinder cannot be empty''); } this.parentElementArrayFinder = elementArrayFinder;

A partir de esto, podemos asumir con seguridad que siempre estará allí, así que creo que es seguro usarlo.


Para resumir los comentarios, la respuesta existente, mis observaciones y el código fuente, parentElementArrayFinder debe y solo puede usarse si el elemento para el que obtuvo parentElementArrayFinder fue "encadenado" de un elemento.

Esto funcionará:

var parent = element(by.css(".parent")); var child = parent.element(by.css(".child")); child.parentElementArrayFinder # link to "parent" - defined

Esto no va a:

var child = element(by.css(".child")); child.parentElementArrayFinder # no link to "parent" - undefined