Usé esta cadena para encontrar un elemento:
cy.xpath('//*[text()="search ${keyword}")]')
Y cuando ejecuto mi prueba, me muestra el resultado correcto en la consola pero también me muestra este error:
Error al ejecutar 'evaluar' en 'Documento': la cadena
'//*[text()="search ${keyword}")]'
no es una expresión XPath válida.
Usé contiene y funciona. hay un ícono en mi XPath y no pudo encontrar solo el texto.
cy.xpath(`//*[contains(text(), 'search ${keyword}')]`)
El error de sintaxis real se debe a un extraño )
:
cy.xpath('//*[text()="search ${keyword}")]') ^
Elimine ese carácter para eliminar el error de sintaxis.
Tu solución,
cy.xpath(`//*[contains(text(), 'search ${keyword}')]`)
no hace lo que probablemente crees que hace. (Solo está comprobando las subcadenas dentro del primer nodo text()
secundario de cada elemento). Para obtener detalles completos, consulte esta explicación detallada.
En su lugar, utiliza
cy.xpath(`//*[text()[contains(., 'search ${keyword}')]]`)
o la otra variación que se muestra en la explicación vinculada según sus requisitos.