Webdriverio: Seletor para encontrar qualquer elemento por texto / texto parcial?

Criado em 3 out. 2017  ·  4Comentários  ·  Fonte: webdriverio/webdriverio

O problema

Eu gostaria de consultar os elementos por texto ou correspondência de texto parcial sem uma restrição no tipo de elemento. Isso é útil em etapas de pepino, como /^I click the "(.*)" button$/ , onde o botão pode ser implementado com uma tag <a> , <button> ou <input> .

Também posso querer procurar o texto em uma página, por exemplo, "Você foi desconectado", mas isso poderia ser incorporado em quase qualquer elemento, caso em que não é prático enumerar todas as tags possíveis e pesquisar o texto com cada uma .

A partir dos documentos, não parece que isso seja possível sem especificar um tipo de elemento, existe uma maneira? Pode haver um?

Ambiente

  • Versão WebdriverIO: 4.8.0
  • Versão Node.js: 6.11.3
  • Modo autônomo

Todos 4 comentários

@peterjwest, você pode tentar *=some text . Se isso não funcionar, você deve usar o xpath. Existem tutoriais na internet sobre como usar o xpath para consultar um elemento aleatório com um texto específico. Por favor, junte-se ao nossoGitter para este tipo de perguntas. Isso não é um problema necessário.

Isso é realmente alto nos resultados do Google, então aqui está um exemplo prático:

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

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

Obrigado!

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

@ christian-bromann, por que você não tinha certeza de que funcionaria? Estava relacionado à versão do Webdriverio usada?

Esta página foi útil?
0 / 5 - 0 avaliações