java - Selenium - 无法找到标签内的文本

标签 java selenium label

我想提取屏幕上显示的值(“70”)以便将其与某个值进行比较。

已经尝试过使用不同值的 getText()getAttribute - 标题、值、innerHTML、innerText。不幸的是,它们都不起作用。

知道如何做到这一点吗?

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

注意:

我能够找到该元素,并确保它是正确的 - getAttribute("id") 返回“current_heat_setpoint”。

最佳答案

正如评论中所讨论的,这看起来确实像是一个计时问题 - 标签的文本是动态设置的,您需要等待它出现才能获取它。这可以通过 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());

关于java - Selenium - 无法找到标签内的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41245305/

相关文章:

selenium - 如何让WebdriverIO在输入框中慢速输入

java - build.sbt 配置使用 sbt packageSrc 添加外部 java 文件

java - 如何使用 Java.awt 镜像图像

java - Selenium WebDriver Java - 按标签单击元素不适用于某些标签

带有图像和标签的 Python GTK3 按钮

javascript - 标记 GoogleMaps Lat/Lng 交叉点

html - 将范围及其标签置于 div 中同一级别的中心

java - JList/ListModel getElements 不起作用

java - "order by"基于表达式

python ( Selenium ): how to login to a website with a login redirect/organization sign on