User Tools

Site Tools


es:en:xpath_object_identification

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

es:en:xpath_object_identification [2020/10/22 13:15]
montse [Identificación de objetos por XPath]
— (current)
Line 1: Line 1:
-====== Identificación de objetos por XPath ====== 
- 
-En las siguientes líneas, el usuario será capaz de encontrar pistas y consejos sobre como identificar objetos vía Xpath. 
- 
-Xpath es una manera de identificar objetos en base a la ruta a la que el objeto esta anidado. Como ejemplo: el Xpath “/​html/​body/​div[2]/​div/​div/​footer/​section[3]/​div/​ul/​li[3]/​a” buscará en el cuerpo del html un elemento “div[2]” luego buscará un div, tras otro, un footer, y así hasta el final. 
- 
-Hay básicamente dos formas de usar un Xpath: usando el Xpath entero o buscando solo un fragmento (para este último en vez de abrirse con / se abre con “/ /”). Como siempre, en pruebas, es bastante importante tener claro que el Xpath que se escribe es único y representa solamente un elemento. //Como recordatorio,​ el ID del atributo es único//. 
- 
-Igualmente, dado que esto puede volverse demasiado largo, hay algunas maneras para acortarlo, para esto necesitamos saber su sintáxis:​\\ \\  ​ 
- 
-^Expresión XPath ^Descripción ^Ejemplo de Expresión ^ Ejemplo de Significado ^  
-|/| Selección del nodo de ruta. |(…)/​b/​a| Elemento ”//a//” hijo de ”//​b//​”,​ hijo de ”//​(…)//​“.| 
-|/ /| Selecciona cualquier nodo del nodo actual que coincide con la selección no importa donde esté.| b / / a(…)| Todos los elementos ”//​a(…)//​” hijos de ”//​b//​”.| 
-|*| Coincide con cualquier nodo.| b / * / a | Cualquier elemento ”//a//” del que es nieto de ”//​b//​“.| 
-|.| Selecciona el nodo actual. | ./ /de | Cualquier elemento ”//​de//​” que está dentro de uno o más niveles del nodo actual.| 
-|..| Selecciona el padre del nodo actual. | abc[../​mg] | Cualquier elemento ”//​abc//​” que tiene un hermano ”//​mg//​”.| ​ 
-| @| Selecciona atributo. | a[@bcd] | Elemento ”//a//” con un atributo ”//​bcd//​”.|  ​ 
-| @ =| Selecciona atributos con valor. | a[@bcd=“hola”] | Elemento ”//a//” con ”//​bcd//​” como atributo igual a hola.| ​ 
-| @*| Coincide con cualquier atributo. | a[@*=“hola”] | Elemento ”//a//” con cualquier atributo igual a //​hola//​.| ​ 
-| last()| Coincide con el ultimo elemento. | b / a[last()] | Ultimo elemento ”//a//” hijo de ”//​b//​“.| ​ 
-| [] | Elemento que contiene algo. | c[hello] / b[@a] |Elemento ”//b//” elemento que contiene un atributo ”//a//” hijo de atributo ”//c//” que contiene el elemento hello.|  ​ 
-| [][]| Elemento que contiene dos o mas cosas (se añaden[] por cada uno). | a[@b][@c] | Elemento ”//a//” con **los dos atributos** ”//b//” y ”//​c//​”. |  
-| [n]| El elemento “n” en un array. | b/a[3] | Tercer elemento ”//a//” hijo de ”//​b//​“.| ​ 
-| !=| Desigual. | a[@bcd!=“hola”] | Elemento ”//a//” con atributo ”//​bcd//​” no igual a //​hola//​.| ​ 
-| last() | Último elemento. | b/​a[last()] | El último ”//a//” hijo de ”//​b//​“.| ​ 
-| () | Grupo de operaciones para establecer prioridades. | (de/​mg)[3] | El tercer set entero de ”//​de/​mg//​“.| ​ 
-| and| Uso lógico del AND. | a[b and c] | Elemento ”//a//” que contiene **ambos** ”//b//” y ”//​c//​“.| ​ 
-| or| Uso lógico del OR . | de[@mg or @dus] | Elemento ”//​de//​” que contiene los atributos ”//​mg//​” o ”//​dus//​”.| ​ 
-| contains()| Coincide con todos los elementos que parcialmente contienen lo que este dentro de los “()”. | de[contains(.,'​click here'​)] | Elementos ”//​de//​” que contienen ”//click here//​“.| ​ 
-| starts-with() | Coincide todos los elementos que estén contenidos en “()”. | de[starts-with(@id,'​id-name'​)] | Elementos ”//​de//​“ que empiezan por ”//​id-name(…)//​“.| ​ 
-| [ .=''​] | Coincide todos los elementos dentro de un string. | de[.='​string 1 of 6'] | Elementos ”//​de//​” con el string ”//string 1 of 6//“.| 
-| normalize-space() | Coincide los elementos con un string ignorando espacios en blanco. | de[normalize-space()='​mg'​] | Elementos ”//​de//​” con el string ”//​mg//​” o ”// mg//” o ”//mg // ” o ”// mg // “.|  
-| text() | Selecciona los elementos con un texto especifico dentro. | de[text()=“mg”] | Elementos ”//​de//​” con string ”//​mg//​” en el campo de texto.| ​ 
-| [ / @ ] | Selecciona elementos que tienes algún hijo especifico. | / / de[mg/​@attr1='​nrw'​] | Elementos ”//​de//​” con ”//​mg//​” hijo de ”//​attr1//​” igual a ”//​nrw//​“.| ​ 
- 
-\\  
- 
- 
-=====Como obtener el Xpath de un documento XML===== 
- 
-Como obtener el Xpath de nodo XML con Notepad++:​\\ \\  
-1. Dentro de Notepad++ ir a plugins de aquí al gestor de plugins y elegir mostrar gestor de plugins.\\ 2. Instalar XML Tools (herramientas XML).\\ 3. Reiniciar el Notepad++.\\ 4. Cargar el documento XML que deseas.\\ 5. Poner el cursor sobre el nodo del cual necesitas el Xpath.\\ 6. Ir a Plugins, despues a XML Tools continuamos a ruta Xpath actual (Hotkey: Ctrl + Alt + Shift + P).\\ \\  
-A continuación tendremos el Xpath copiado en el portapapeles. 
- 
- 
- 
- 
- 
- 
- 
- 
- 
  
es/en/xpath_object_identification.1603372507.txt.gz · Last modified: 2020/10/22 13:15 by montse