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

168
Vistas
Pasar parámetros a la función de flecha interna utilizada con la evaluación de Playwright

Estoy usando dramaturgo en este momento, y quiero escribir una función que contenga una función de flecha interna, algo similar a

 async function setSearchDate(startDate='2021-12-07') { ....do something... const startDateAttribute = await page.$(searchStartDate); await startDateAttribute.evaluate(node => node.setAttribute('value', startDate));

pero de alguna manera la función de flecha interna no ve el valor de startDate. el error que recibo es "elementHandle.evaluate: ReferenceError: startDate no está definido".

El código funciona bien si codifico el valor startDate en la función de flecha. ¿Cómo puedo pasar ese valor?

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

0

evaluate evalúa su función en la página , no en el contexto de su código. Puede acceder a todo lo que existe en el entorno de ejecución de la página (por ejemplo, window , document , etc.) pero nada que exista en su entorno de ejecución (por ejemplo startDate ). Eso es porque en el contexto de la página, no hay una fecha de startDate variable (a menos que la página haya definido su propia window.startDate . fecha de inicio ...).

Para pasar parámetros, debe hacer uso de ...args : evaluate toma argumentos adicionales que se pasan a su función:

 await startDateAttribute.evaluate( (node, startDate) => node.setAttribute('value', startDate), // ^^^^^^^^^ 2) extra argument(s) arrive here //vvvvvvvvv 1) extra argument(s) getting passed in here startDate )

Ver documentos: Evaluación de JavaScript (explicando este escollo exacto) y ElementHandle#evaluate .

about 4 years ago · Juan Pablo Isaza Denunciar

0

await startDateAttribute.evaluate(function(node) { node.setAttribute('value', startDate) });
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