Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

150
Vistas
Obtenga texto separado por líneas del elemento con etiquetas <br> de ciprés

Estoy tratando de obtener información de contacto a través de Cypress y compararla con la base de datos. Así que necesito dividir los detalles y obtener Título, Nombre, Apellido, País... etc.

Pero el texto se contiene en un solo div y se ha separado usando la etiqueta <br> .

Luego he intentado obtener el texto de la siguiente manera:

 cy.xpath('element xpath').invoke('text').then((AddressLineText) => { cy.log(AddressLineText); });

Fluir es el texto invocado y se ha conectado los textos de línea sin siquiera un espacio. Debido a eso, no puedo dividir por espacio o /n.

Cypress Log para invocar texto

A continuación se muestra la estructura HTML:

 <div class="address"> Mr. Test User <br> Testing Services Ltd <br> Britannia House <br> Rushmills <br> NN4 7YB, Northampton <br> Northamptonshire <br> United Kingdom </div>

Cómo aislar cada línea según este escenario.

about 4 years ago · Juan Pablo Isaza
2 Respuestas
Responde la pregunta

0

Las etiquetas <br> se convierten en líneas nuevas después de la extracción de texto

 cy.get('.address') .invoke('text') .then(text => text.split('\n')) // split by newline .then(texts => texts.map(text => text.trim())) // trim whitespace .then(texts => texts.filter(text => text)) // remove empty .then(texts => { console.log(texts) }) })

huellas dactilares

 ["Mr. Test User", "Testing Services Ltd", "Britannia House", "Rushmills", "NN4 7YB, Northampton", "Northamptonshire", "United Kingdom"]

Nodo.TEXT_NODE

Es mejor extraer los nodos de texto del div si el contenido es más complicado.

  • use .childNodes para obtener todos los <br> y textos dentro de la dirección <div>
  • filtrar elementos secundarios por tipo de nodo para eliminar <br>
  • obtener valores de nodo y recortar espacios y saltos de línea
 cy.get('.address') .then($el => $el[0].childNodes) .then(children => [...children].filter(child => child.nodeType === Node.TEXT_NODE)) .then(textNodes => textNodes.map(textNode => textNode.nodeValue.trim())) .then(texts => { console.log(texts) })

huellas dactilares

 ["Mr. Test User", "Testing Services Ltd", "Britannia House", "Rushmills", "NN4 7YB, Northampton", "Northamptonshire", "United Kingdom"]
about 4 years ago · Juan Pablo Isaza Denunciar

0

Puede usar each() para imprimir todos sus textos individuales. Una línea para cada texto en los registros del corredor de prueba.

 cy.xpath('element xpath').each(($ele) => { cy.log($ele.text()); });
about 4 years ago · Juan Pablo Isaza Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda