如何使用Java获取段落标记。(div / div / p)中的文本(用于硒自动化)

时间:2019-01-23 07:30:46

标签: java selenium xpath css-selectors webdriverwait

我正在尝试使用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 :(得分:-1)

要提取文本我们找不到...或密码,因为该元素位于模态对话框中,您需要引入 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();