how - xpath selenium java
Consigue todos los niños inmediatos y nada más profundo. (4)
WebElement body = browser.findElement(By.xpath("//body"));
body.findElement(By.xpath("")); // I want to get all child elements
// inside body, but nothing deeper.
Documento de ejemplo.
<html>
<body>
<div>
</div>
<span>
<table>
</table>
</span>
</body>
</html>
El resultado esperado es div
y span
. No tengo control sobre los documentos y varían mucho.
Aquí hay otra manera de obtener los hijos directos de un elemento:
element.findElement(By.xpath("./*"));
El child
lugar de un descendant
puede ayudar a alguien.
("*")
proporciona todos los elementos secundarios del nodo de contexto. Así que use:
body.findElement(By.xpath("*"));
/html/body/*
Se seleccionarán solo los elementos inmediatos de los elementos del body
.
Recuerde que si copia todos estos nodos seleccionados, también copia su contenido. Por lo tanto, si realiza una copy-of
, la table
también se producirá en el documento resultante.
Además, recomendaría leer al menos los conceptos básicos de XPath, ya que haces demasiadas preguntas similares.