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

147
Vistas
¿Es posible usar el transportador by.cssContainingText para valores de texto condicionales?

Tengo texto condicional que cambiará y que no tiene muchas palabras similares. ¿Hay alguna forma de usar cssContainingText condicionalmente? Los documentos parecen indicar que solo se pueden usar valores de cadena o expresiones regulares, pero me preguntaba si había una solución.

El siguiente código es solo un ejemplo aproximado, pero con suerte pinta la imagen.

 let text; if (a){ text = 'John Doe is a name'; } else if (b) { text = 'Hello world'; } else if (c) { text = 'This is a whole new sentence'; } else { text = 'Default text' } return <div className='my-text'>{text}</div>;
 element( by.cssContainingText( 'my-text', ["/*Insert logic for conditional*/", ], // even something like, 'text' || 'text-2' || 'text-3' ), );
about 4 years ago · Juan Pablo Isaza
1 Respuestas
Responde la pregunta

0

La opción más fácil es probablemente usar ExpectedConditions y simplemente esperar a que el elemento sea visible. Es decir, realice cualquier acción que haga que el texto cambie y luego espere a que ese elemento se vuelva visible en la página. Puede abordarlo de dos maneras, definir todos los elementos que espera que estén en la página o crear una función en la que pase el texto que está buscando y espere a que esté listo. Mis ejemplos a continuación asumen que ya ha definido EC y un tiempo de espera personalizado en otro lugar de la clase.

 const someText = 'my sample text'; await waitForElementWithText(someText); // now do other stuff once element is visible .... async function waitForElementWithText(waitForText) { const elem = element(by.cssContainingText(waitFortext)); return browser.wait(EC.visibilityOf(elem), myWaitTime); }

O si necesita interactuar con ese elemento después de esperarlo, simplemente declare el elemento y páselo a la función de espera

 const elem1 = element(by.cssContainingText('my sample text'); const elem2 = element(by.cssContainingText('my other text'); // do some stuff that makes elem2 visible await waitForElementVisible(elem2); // now you can interact with elem2 ... async function waitForElementVisible(elem) { return browser.wait(EC.visibilityOf(elem), myWaitTime); }
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