Как получить текст внутри тега абзаца (div / div / p) с использованием Java (для автоматизации селена) - PullRequest
0 голосов
/ 23 января 2019

Я пытаюсь получить текст из модели, используя xpath, но в итоге я не получаю текст, но могу получить имя тега.

HTML:

<div class="modal fade custom-modal" id="loginfailure-modal" role="dialog">
        <div class="modal-dialog">
            <div class="modal-content">
                <div class="modal-body">
                    <p id="custom-modal-text">We could not find that<br> account. Incorrect email and /<br> or password</p>
                    <button id="custom-modal-btntext" type="button" class="button green-button custom-modal-button" data-dismiss="modal">Please try again</button>
                </div>
            </div>
        </div>
    </div>

Пробная версия кода:

String txt = driver.findElement(By.xpath("//p[@id='custom-modal-text']")).getText();

Мне нужен текст внутри тега <p>, но я не получаю его, но я могу получить имя тега, используя функцию get tag name.

1 Ответ

0 голосов
/ 23 января 2019

Чтобы извлечь текст Мы не смогли найти это ... или пароль , так как элемент находится в Модальном диалоге , вам нужно вызвать WebDriverWait для visibilityOfElementLocated , и вы можете использовать любое из следующих решений:

  • cssSelector :

    String txt = driver.findElement(By.cssSelector("div.modal.fade.custom-modal#loginfailure-modal div.modal-body>p")).getText();
    
  • xpath :

    String txt = driver.findElement(By.xpath("//div[@class='modal fade custom-modal' and @id='loginfailure-modal']//div[@class='modal-body']/p")).getText();
    
...