如何使用Cucumber从div检索文本?

时间:2018-12-06 17:41:36

标签: java selenium cucumber bdd

我一直在尝试从各个div和表中获取有关我在Cucumber中编写的某些BDD的文本。每当我尝试从网站的前端获取任何东西时,我所从事的工作都无济于事。我需要知道我特别需要做些什么才能获得这些内容。

我要从中检索的页面元素与此类似

 <div id="statMsg" class="statusMsg">Your changes are saved.</div>

这是当前尝试从div检索文本的2种方法。

 public WebElement savedText() {
    return webdriver.findElement(By.className("statusMsg"));

 public void UserClicksOnSave() throws InterruptedException {
    daSave.saveOn().click();
    daPage.savedText().getText();

1 个答案:

答案 0 :(得分:0)

通过XPATH查找DIV,使其包含您要查找的文本:

public WebElement savedText() {
    String xpath = "//div[contains(@class, 'statusMsg'][contains(., 'Your changes are saved.')]";

    return webdriver.findElement(By.xpath(xpath));

Selenium应该隐式等待与该类名称匹配并包含给定文本的DIV。 findElement方法仅在两个条件都成立时才返回,这应与测试中的比赛条件相抵触。