Solucionado (ver solução)
Solucionado
(ver solução)
4
respostas

[Selenium WebDriver] Não estou conseguindo recuperar texto

Estou tentando recuperar o texto exibido em uma tag na 10ª linha de código:

<ul data-v-4b5efaa2="" class="navbar-nav ml-auto d-flex flex-row-reverse justify-content-between">
<div data-v-7c97f2c5="" data-v-4b5efaa2="" class="dont-print cel-user-account">
    <div data-v-7c97f2c5="">
        <img data-v-7c97f2c5="" src="/img/user-photo.7601e3c8.png" alt="Foto do usuário" class="user-photo">
        <span data-v-7c97f2c5="" class="sr-only">Menu do usuário</span><!---->
    </div>
</div>
<span data-v-4b5efaa2="" class="nomeUsuario ml-auto mt-2">
    <h6 data-v-4b5efaa2="">
        ***<strong data-v-4b5efaa2="" id="usuario-logado" name="usuarioLogado" class="text-primary">Teste User Admin</strong>***
    </h6>
</span>

Trecho a baixo são as formas que já tentei recuperar a retorno um objeto vazio: OBS: usei um tipo de cada vez

public String getNomeUsuarioLogado() {
    try {
        String resposta = browser.findElement(By.id("usuario-logado")).getText();
        //String resposta = browser.findElement(By.xpath("//*[@id='usuario-logado']")).getText();
        //WebElement resposta = this.browser.findElement(By.id("usuario-logado"));
        System.out.println(resposta);
        return resposta;
    } catch (NoSuchElementException e) {
        return null;
    }
}
4 respostas

Oi Cleyton,

E qual o problema está ocorrendo?

Acredito que foi resolvido Rodrigo, eu estava usando o IDEA IntelliJ e não consegui obter sucesso em obter o texto, mas importei no eclipse e ai trouxe, depois disso ocorreu novo problema, após passar pelo preenchimento com dados inválidos, sistema passa por uma central de segurança e devolve esta msg, mas com uma url gigante e usando:

public boolean isMensagemDeLoginInvalidoVisivel() {
    return browser.getCurrentUrl().contains("O dado informado não está cadastrado.");
}

não consegui validar, tentei também o browser.getPageSource sem sucesso. Teria uma outra dica para recuperar esta msg?

Desde já agradeço.

Validar com dados inválidos

o retorno devolvido é este: Retorno debugando

Você pode inspecionar no chrome esse elemento que tem a mensagem e ver se tem algum id ou classe css para conseguir recuperar com o selenium.

solução!

Consegui.... foi erro meu, antes de ir ao método, acabei colocando return null no método anterior, por isso não achava. Mas valew para aprender a ir passo a passo no código. Obrigado.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software