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

548
Vistas
Cómo tomar una parte de una URL carrent con cypress/javascript

¿Cómo puedo extraer la identificación de este enlace? .localhost/survey/20?vbpCategoryId

mi código es:

 cy.url().then(URL => { const current_url = URL.split('/'); cy.log(current_url[nr]); cy.wrap(current_url[nr]).as('alias');

si estaba entre "/" era fácil pero en este caso es entre "/" y "?"

¡Gracias!

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

0

Si su URL siempre se formará de manera similar a como explicó, podemos usar .split() y .pop() para obtener fácilmente esta ID.

.pop() toma el último elemento de una matriz y lo devuelve.

 cy.url().then((url) => { const splitUrl = url.split('/'); const ending = splitUrl.pop(); const id = ending.split('?')[0]; // code using id })

He sido demasiado detallado al diseñar cada línea, pero teóricamente podría combinarlo en una sola línea como:

 const id = url.split('/').pop().split('?')[0];

Incluso podríamos simplificar esto un poco, usando cy.location('pathname') .

 // assuming url is something like http://localhost:1234/survey/20?vbpCategoryId cy.location('pathname').then((pathname) => { /** * `pathname` yields us just the path, excluding the query parameters and baseUrl * (in this case, `?vbpCategoryId` and `http://localhost:1234`), * so we would have a string of `/survey/20`. */ const id = pathname.split('/').pop(); });
about 4 years ago · Juan Pablo Isaza Denunciar

0

O puede usar el método .replace con una expresión regular para extraer solo el número de su URL y luego guardarlo así:

 cy.url().then((URL) => { const id = +URL.replace(/[^0-9]/g, '') //Gets the id 20 and changes it to a number cy.wrap(id).as('urlId') }) cy.get('@urlId').then((id) => { //access id here })

En caso de que no desee que la id se convierta en un número, simplemente puede eliminar el + de la URL. URL.replace de esta manera:

 cy.url().then((URL) => { const id = URL.replace(/[^0-9]/g, '') //Gets the id 20 cy.wrap(id).as('urlId') }) cy.get('@urlId').then((id) => { //access id here })
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