Selenium - 无法在标签

时间:2016-12-20 15:01:43

标签: java selenium label

我想提取出现在屏幕上的值(“70”),以便将其与值进行比较。

已尝试使用不同值的getText()getAttribute - title,value,innerHTML,innerText。不幸的是,他们都没有工作。

关于我们如何做到这一点的任何想法?

 <label id="current_heat_setpoint" class="e_field_data_text">70</label>

注意:

我能够找到元素已经确定它是正确的 - getAttribute("id")返回“ current_heat_setpoint ”。

1 个答案:

答案 0 :(得分:1)

正如评论中所讨论的,这看起来很像一个计时问题 - 标签的文本是动态设置的,你需要等到它出现才能获得它。这可以通过WebDriverWait自定义预期条件来实现:

WebDriverWait wait = new WebDriverWait(driver, 10);
WebElement label = wait.until(new ExpectedCondition<Boolean>() {
    public Boolean apply(WebDriver driver) {
        return driver.findElement(By.id("current_heat_setpoint")).getText().length() > 0;
    }
});
System.out.println(label.getText());