Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

132
Views
¿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 answers
Answer question

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 Report
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!