dom - change - title css
Cómo obtener el elemento principal de un elemento (4)
A partir del transportador más reciente (1.6.1 al momento de escribir esto), la sintaxis cambió un poco:
var row = results[randomNum].element(by.xpath(''..''));
(use element()
lugar de findElement()
).
Por ejemplo, estoy escogiendo aleatoriamente un elemento de button
dentro de las filas de una table
.
Después de encontrar el button
, quiero recuperar la fila de la table
que contiene un botón seleccionado.
Heres es mi fragmento de código:
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
});
Ahora puedes usar
var element = element(by.css(''.foo'')).getWebElement() var parentElement = element.getDriver() // gets the parent element
para obtener el elemento padre Consulte http://www.protractortest.org/#/api?view=webdriver.WebElement.prototype.getDriver para obtener más información.
Decidió usar xpath.
var row = results[randomNum].findElement(by.xpath(''ancestor::tr''));
En realidad, en este momento hay una manera más fácil de seleccionar el elemento primario de un elemento evitando usar xpath
. Desde ElementFinder
puedes simplemente acceder al elemento padre a través de parentElementArrayFinder
y, por ejemplo, activar directamente el método de click
:
myElement.parentElementArrayFinder.click();