Actualmente estoy enfrentando un problema al usar el dramaturgo donde necesito hacer clic en un enlace y luego esperar a que se ponga en negrita. Puedo encontrar el elemento en sí y hacer clic en él usando:
await page.click("a[id$='clickablelink_0']")y actualmente estoy esperando cambiar cuando veo una clase (que agrega negrita) agregada al elemento:
await page.waitForSelector("a[id$='clickablelink_0'][class~=xmp]")Sin embargo, este nombre de clase cambia cada cierto tiempo. ¿Hay alguna manera en lugar de usar la clase, buscar directamente el valor de "font-weight"? idealmente como un ">=" a un valor?
Solo algunas notas:
¡Gracias!
En caso de afirmar una propiedad css, puede usar la afirmación expect toHaveCSS() para esto. También puede jugar con el tiempo de espera, de forma predeterminada, espere que las afirmaciones tengan un tiempo de espera de 5 segundos. Ahora puede aumentar el tiempo de espera para afirmaciones específicas como se muestra a continuación o también globalmente .
await expect(page.locator("a[id$='clickablelink_0'][class~=xmp]")).toHaveCSS( 'font-weight', '30px', {timeout: 7000} )O, si desea extraer el valor de font-weight y luego aplicar una afirmación mayor que, puede hacer lo siguiente:
const element = await page.waitForSelector( "a[id$='clickablelink_0'][class~=xmp]" ) const fontWeight = await element.evaluate((el) => { return window.getComputedStyle(el).getPropertyValue('font-weight') }) //extracting and converting number expect(+fontWeight.replace(/\D/g, '')).toBeGreaterThan(30)