Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

161
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda