Búsqueda de sitios web

typescript - No puedo averiguar cómo esperar el texto en el valor de entrada


Escenario: Necesito esperar a que se cargue un texto específico en la página, el problema que estoy experimentando es que el texto es el valor de un cuadro de entrada y este valor es lo último en cargar/aparecer en la página.

Me preguntaba si había alguna forma de decirle a Playwright:

espera a que el valor de texto en este cuadro de entrada sea="valor de entrada de texto"

He usado await this.page.locator('my locator').inputValue(); pero noté que el valor a veces puede devolver vacío cuando la página tarda un poco más en cargarse, por lo que necesito esperar específicamente por él antes de continuar.

En este momento estoy esperando a que se complete una solicitud específica de API, lo cual funciona por ahora, pero me preguntaba si habría una mejor manera.

Cualquier ayuda sería apreciada.

Respuesta #1

Qué tal si usas las aserciones del localizador para tener valor con tiempo de espera personalizado. Algo así:

const locator = page.locator('my locator')
await expect(locator).toHaveValue('your value', {timeout: 20000})

Respuesta #2

Prueba esto:

await page.waitForSelector('text=Log in',{timeout:25000})

Adapta el selector, puedes usar texto, CSS o XPath. Y puedes cambiar el valor de tiempo de espera a uno que te convenga, está en milisegundos.

Artículos relacionados