Red de conocimiento informático - Problemas con los teléfonos móviles - ¿Cómo debería escribirse XPATH?

¿Cómo debería escribirse XPATH?

Descripción

nodename selecciona todos los nodos secundarios de este nodo.

/ Seleccionar desde el nodo raíz.

// Selecciona nodos en el documento a partir del nodo actual que coincide con la selección, independientemente de su posición.

Seleccione el nodo actual.

.. Seleccione el nodo padre del nodo actual.

@ Seleccionar atributos.

Expresión de ruta

Resultado

librería selecciona todos los nodos secundarios del elemento librería.

/bookstore selecciona el elemento raíz librería. Nota: Si la ruta comienza con una barra diagonal ( / ), ¡esta ruta siempre representa una ruta absoluta a un elemento!

librería/libro selecciona todos los elementos del libro que son hijos de librería.

//libro selecciona todos los elementos secundarios del libro independientemente de su posición en el documento.

librería//libro selecciona todos los elementos del libro que son descendientes del elemento librería, independientemente de dónde se encuentren debajo de la librería.

//@lang selecciona todos los atributos llamados lang

Ejemplo

1 Encuentre el elemento raíz de la página: //

2. Encuentre todos los elementos de entrada en la página: //input

3. Encuentre los elementos de subentrada directos dentro del primer elemento del formulario en la página (es decir, incluya solo los elementos de entrada del siguiente nivel del formulario). elemento, use representación de ruta absoluta, único / número): //form[1]/input

4. el elemento del formulario se cuenta. No importa cuántas otras etiquetas estén anidadas, use rutas relativas, signos // dobles): //formulario[1]//entrada

5. página: // formulario[1]

6. Busque el elemento de formulario con el id loginForm en la página: //form[@id='loginForm']

7. el atributo de nombre en la página. El elemento de entrada de nombre de usuario: //input[@name='username']

8. Busque el primer elemento de entrada debajo del elemento de formulario con la identificación de loginForm en la página. : //form[@id=' loginForm']/input[1]

9. Busque el elemento de entrada cuyo atributo de nombre sea continuar y escriba el atributo como botón en la página: //input[@name]. ='continue'][@type='button ']

10. ¿Encontrar todos los elementos con el atributo id en la página web?/@id

2. la búsqueda de nodo

Ejemplo

p>

Expresión de ruta

Resultado

/bookstore/book[1] Selecciona el primer elemento del libro que es un elemento hijo de la librería.

/bookstore/book[last()] selecciona el último elemento del libro que es un elemento secundario de la librería.

/bookstore/book[last()-1] selecciona el penúltimo elemento del libro que es hijo de bookstore.

/bookstore/book[position()?] selecciona los dos primeros elementos del libro que son hijos del elemento librería.

//title[@lang] Selecciona todos los elementos del título que tienen un atributo llamado lang.

//title[@lang='eng'] selecciona todos los elementos del título que tienen un atributo lang con un valor de eng.

/bookstore/book[price>35.00] selecciona todos los elementos de libro del elemento de librería y el valor del elemento de precio debe ser mayor que 35.00.

/bookstore/book[price>35.00]/title selecciona todos los elementos de título del elemento libro en el elemento librería, y el valor del elemento precio debe ser mayor que 35,00.

3. Seleccionar nodos desconocidos

Comodín

Descripción

* Coincide con cualquier nodo de elemento.

@* coincide con cualquier nodo de atributo.

node() coincide con cualquier tipo de nodo.

Ejemplo

Expresión de ruta

Resultado

/bookstore/* Selecciona todos los elementos secundarios del elemento librería.

//* Selecciona todos los elementos del documento.

//title[@*] Selecciona todos los elementos del título con atributos.

4. Seleccione varias rutas

Al utilizar el operador "|" en la expresión de ruta, puede seleccionar varias rutas.

Expresión de ruta

Resultado

//book/title | //book/price selecciona todos los elementos de título y precio del elemento libro.

//title | //price selecciona todos los elementos de título y precio en el documento.

/bookstore/book/title | //price selecciona todos los elementos de título que pertenecen al elemento libro del elemento librería y todos los elementos de precio en el documento.

5. Palabras clave

Casos de uso

Ejemplos

text() libro/autor/text()

cadena() libro/autor/cadena()

datos() libro/autor/datos()

libro/autor

Ejemplo<. /p>

Ejemplo XML

Tom John gato 20 0,8

text()

A menudo ves text() al final de una expresión XPath, solo devuelve el texto de la contenido del elemento puntiagudo.

El formato xpath rastreado es libro/autor/texto() y el contenido rastreado es Tom cat. John no pertenece al contenido del nodo directo del autor.

string()

La función string() obtendrá el contenido de texto de todos los nodos del elemento puntiagudo, y estos textos se unirán en una cadena.

El formato xpath rastreado es libro/autor/cadena() y el contenido rastreado es el autor del gato Tom John. Todo el contenido desde el principio hasta el final se rastrea

datos(. )

La mayoría de las veces, la función data() es común a la función string() y no se recomienda utilizar la función data() con frecuencia. Los datos muestran que esta función afectará el rendimiento. de XPath.

El formato xpath rastreado es libro/precios/datos(). El contenido rastreado devuelve 20 y 0,8 por separado. Sus tipos no son cadenas sino xs:anyAtomicType, por lo que puede utilizar funciones matemáticas.

Cuando el contenido rastreado son todos números, solo puede usar datos(), no texto() o cadena(), porque XPath no admite operaciones matemáticas en cadenas.

Autor: Xiaoxiao Xianyu YwY

Fuente: blogs.com/pythonywy/p/11082153.html

Acerca del autor: No importa qué tan largo sea el camino , un paso Puedes recorrerlo en un solo paso, y por muy corto que sea el camino, no podrás llegar a él sin mover los pies

Esta obra está firmada bajo la firma-No Comercial- Sin licencia Derivatives 4.0 International, indique el autor y la fuente al reimprimir

Categoría: ¿Buenos artículos sobre reptiles que me gusten? ¿Marcar este artículo como favorito? - 4

Fans - 302+Agregar seguimiento 00? Artículo anterior:? Descriptor\get/set/delete, init/new/call, metaclass Artículo siguiente: ¿Marco de red, composición de Internet, OSI siete? -Protocolo de capa, capa de abstracción publicado @?2019-06- 25 12:28?Little Salted Fish YwY? ¿Leer (1584)?¿Editar?Colección

¿Lista de comentarios?#1F?2019 -06-25 13:26?Jingtian Er ¿Gracias? ¿Apoyo (0)? ¿Oponerse (0)? #3 Piso? [Propietario]? 2019-06-25 14:07?小小 Pescado salado YwY@?Jingtian Er

¿De nada? ¿Apoyo (0)? Volver al inicio Los usuarios registrados deben iniciar sesión para publicar comentarios. ¿Iniciar sesión o?Registrarse?Visitar?la página de inicio del sitio web.

Recomendado: solo conociéndolo podemos comprenderlo mejor. La primera encuesta de Blog Park para ayudar a la comunidad a actualizar.

Más de 500.000 líneas de código fuente VC++ recomendadas: control industrial de configuración a gran escala, simulación de energía CAD y fuente GIS. biblioteca de códigos

¡Recomendar descarga abierta! "Manual práctico de conceptos básicos de operación y mantenimiento de OSS"

Información personal

El proceso de creación de un programa es esencialmente un proceso de depuración estándar------------ --------------------------------Haga clic para ver las fotos de la vida del blogger---------- ---- ----------------------------------Modo nocturno: desactivado-------- -------- ----------------------------QQ:?568972484

WeChat:? YwYbetheone

Blog personal: ?Mr.Yang's Blog

Sitio web de música personal: ?Aegean Music

Radio: ?Dominio del rastreador de Python en dos minutos al día Apodo : ?Pequeño Pescado Salado YwY

Edad de jardín de infantes: ?1 año y 2 meses

Fans: ?302

Seguir: ?4+Añadir seguir

Día

Lunes

Dos

Tres

Jueves

Cinco

Seis

28 29 30 1 2 3 4

5 6 7 8 9 10 11

12 13 14 15 16 17 18

19 20 21 22 23 24 25

26 27 28 29 30 31 1

2 3 4 5 6 7 8

Mis etiquetas

drf framework (15)

Vue-CLI (13)

Rastreo relacionado con el comercio electrónico (6)

BBS( 6)

Enganche marco frida(5)

tornado(4)

appium(3)

Java(3)

p>

Operaciones detalladas de Git (3)

Tareas programadas y tareas asincrónicas (3)

Más

Puntos y clasificaciones

Puntos - 190814

Ranking - 2915

¿Clasificación de ensayos?(572)

django(61)

Flask(16)

github(9)

GO(17)

cuaderno jupyter(1)

linux( 20)

diario de aprendizaje de Python (116)

shell(1)

Typora(2)

vs(1)

vs diario de autoestudio (7)

Vue (26)

Programación concurrente (8)

Blog Park (10)

Creación de blogs personales (6)

Banco de preguntas de Likou (22)

Rastreador (127)

Frontal (50)

Base de datos (22)

Mini programa WeChat (11)

Mini programa (22)

Excepción (17)

Archivos de ensayo? (494)

Julio 2020 (8)

Junio ​​2020 (14)

Mayo 2020 (4)

Abril 2020 (9)

Marzo 2020 (10)

Febrero 2020 (5)

Enero 2020 (10)

<

p>Diciembre 2019 (13)

Noviembre 2019 (49)

Octubre 2019 (78)

Septiembre 2019 (76 )

Agosto 2019 (74)

Julio 2019 (48)

Junio ​​2019 (41)

Mayo 2019 (48)

Abril 2019 (7)

Últimos comentarios

1. Re: Blog Garden Embellecimiento Little Rocket

Gracias

--PeterWilliam

2. Re: El front-end implementa todas las formas de descargar archivos

Qué genial. . . . . . . . . . . . . . . . . . . . . . . . . . . .

--xiaobaotao

3. Re: autenticación jwt en el marco drf y autenticación jwt personalizada

@Hola, A Liang ha visto el vídeo...

--Little Salted Fish YwY

4. Re: autenticación jwt en el marco drf y autenticación jwt personalizada

También deberías leer mi blog Él es el hermano mayor del viejo, y el artículo es muy detallado

--Hola, A Liang

5. Re: clasificación de rastreadores

@xiaozailong. .

--Little Salted Fish YwY

6. Re: Clasificación por rastreo

Hermano, haz tu mejor esfuerzo para descifrar el código de verificación tú mismo después de estudiar. Durante un período de tiempo, el control deslizante siempre se desvía. Solución

--xiaozailong

7. Re: arreglo del diario de Python

@十七Index Gracias. ..

--Pequeño pescado salado YwY

8. Re: arreglo del diario de Python

Es tan fuerte

--Diecisiete. Índice

9. Re: Introducción al lenguaje GO y configuración del entorno de desarrollo

Después de aprender, síguelo

--Seventeen Index

10 Re: módulo parsel para el análisis de páginas web del rastreador Python

@Mi nombre es Liu Xiaohua, ¿cuál es la contraseña...

--Little Salted Fish YwY

Lista de clasificación de lectura

1. Rastreador de Python (rastreo de imágenes) (16036)

2. Rastreador de Python (rastreo de videos) (13072)

3. python -Crawler aprende a organizar directorios (4164)

4. Django genera clases modelo basadas en tablas de bases de datos existentes (3446)

5 Organización del diario de Python (3222)

6. Módulo Parsel para análisis de páginas web del rastreador Python (3084)

7. Desplazamiento relacionado en js (2906)

8. . concat (adición posterior) (2884)

9. Atributo de respuesta y extracción de contenido en Scrapy (2799)

10. Errores al instalar y usar el paquete urllib2 en Python 3 (1933). ) Copyright? 2020 Little Salted Fish YwY

Desarrollado por .NET Core en Kubernetes