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

252
Vistas
¿Cómo hacer DECLARACIONES CONDICIONALES usando SELECTORES en DRAMATURGO?

Necesito ayuda para hacer declaraciones condicionales usando las pruebas de Playwright.
Tengo un selector dado, digamos un botón, y necesito escribir una declaración condicional como esta:

 if (selector is not present/visible) do nothing and proceed with the *next lines of code* else await page.click(*selector*) *next lines of code*

¿Hay alguna manera eficiente de hacer este tipo de cosas? No encontré nada en la documentación de Playwright.

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

0

Se puede implementar en JavaScript de manera similar a su pseudocódigo usando page.$(selector) , que devuelve null si el elemento especificado no está en el DOM. ( Nota: ¡cuidado con el uso correcto de los paréntesis dentro de la condición!)

También invertiría su condición inicial if(falsy)...else en un solo if(truthy) , ya que desea ejecutar un comando solo si existe el selector, la rama else no tiene mucho sentido:

 if ((await page.$('#elem-id')) !== null) { await page.click('#elem-id') } // code goes on with *next lines of code*
about 4 years ago · Juan Pablo Isaza Denunciar

0

Dado que Playwright recomienda usar Locators sobre EventHandles ( citation ), también podría usar:

 async function clickIfNotNull(page, selector){ const yourLocator = await page.locator(selector) const elementIsNotNull = await yourLocator.evaluate(elem => elem !== null); if (elementIsNotNull) { await yourLocator.click() } }
about 4 years ago · Juan Pablo Isaza Denunciar

0

A pesar de la recomendación de Playwright sobre el uso de localizadores, si

 if ((await page.$('#elem-id')) !== null) { await page.click('#elem-id') } // code goes on with *next lines of code*

¿Funciona bien? ¿Estaría bien usar esta solución?

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