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

118
Vistas
¿Cómo obtener una matriz de elementos (botones) basados en aria-label en Playwright con locator.evaluateAll()?

Estoy tratando de obtener una matriz de elementos dom de uno de los dos valores de etiqueta aria. Estoy tratando de hacer esto con el método locator.evaluateAll .

Actualmente, esto es todo lo que he conseguido; Estoy tratando de tomar todos los botones en mi DOM y crear una matriz de aquellos que poseen un atributo de etiqueta aria específico:

 const elements = this.page.locator('button'); const allSigButtons = await elements.evaluateAll( (button) => `${button}[aria-label='Sign']` || `${button}[aria-label='Initial']` );

Cuando imprimo mi matriz allSigButtons en la consola, obtengo:

 [object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement],[object HTMLButtonElement][aria-label='Sign']

Claramente estoy haciendo algo mal!

about 4 years ago · Santiago Trujillo
1 Respuestas
Responde la pregunta

0

Creo que está buscandoselectores de CSS delimitados por comas (OR lógico) :

 const playwright = require("playwright"); const html = ` <body> <button aria-label="Sign">foo</button> <button aria-label="Signy">NO</button> <button aria-label="Initial">bar</button> <button aria-label="Initial">baz</button> <button aria-label="Initia">NOT ME</button> </body> `; let browser; (async () => { browser = await playwright.chromium.launch({headless: true}); const page = await browser.newPage(); await page.setContent(html); const sel = "button[aria-label='Sign'], button[aria-label='Initial']"; const btns = await page.locator(sel); console.log(await btns.allTextContents()); // => [ 'foo', 'bar', 'baz' ] })() .catch(err => console.error(err)) .finally(() => browser?.close()) ;
about 4 years ago · Santiago Trujillo 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