Webdriverio: Selector para encontrar cualquier elemento por texto / texto parcial?

Creado en 3 oct. 2017  ·  4Comentarios  ·  Fuente: webdriverio/webdriverio

El problema

Me gustaría consultar elementos por texto o coincidencia de texto parcial sin una restricción en el tipo de elemento. Esto es útil en pasos de pepino como /^I click the "(.*)" button$/ , donde el botón podría implementarse con una etiqueta <a> , <button> o <input> .

Es posible que también desee buscar texto en una página, por ejemplo, "Se ha cerrado la sesión", pero esto podría estar incrustado en casi cualquier elemento, en cuyo caso no es práctico enumerar todas las etiquetas posibles y buscar el texto con cada una. .

Según los documentos, no parece que esto sea posible sin especificar un tipo de elemento, ¿hay alguna manera? ¿Puede haber uno?

Medio ambiente

  • Versión de WebdriverIO: 4.8.0
  • Versión de Node.js: 6.11.3
  • Modo autónomo

Todos 4 comentarios

@peterjwest puedes probar *=some text . Si eso no funciona, debe usar xpath. Hay tutoriales en Internet sobre cómo usar xpath para consultar un elemento aleatorio con un texto específico. Por favor únase a nuestroGitter para este tipo de preguntas. Esto no es necesariamente un problema.

Esto es realmente alto en los resultados de Google, así que aquí hay un ejemplo práctico:

browser.getText("//*[contains(text(),'Hello')]")

https://stackoverflow.com/a/2994336/4176104

¡Gracias!

*=some text está funcionando (v4.13.2).

@ christian-bromann ¿por qué no estaba seguro de que funcionaría? ¿Estaba relacionado con la versión de Webdriverio utilizada?

¿Fue útil esta página
0 / 5 - 0 calificaciones