使用 Selenium WebDriver 检索 HTML 输入的值

2022-08-31 07:49:11

在 Web 应用程序的 HTML 中,有以下代码:

<input type="text" name="prettyTime" id="prettyTime" class="ui-state-disabled prettyTime"  readonly="readonly">

显示时间的字符串实际上显示在页面上。

在Selenium WebDriver中,我有一个对象指的是使用:WebElement<input>

WebElement timeStamp = waitForElement(By.id("prettyTime"));

我想获得 的值,或者换句话说,页面上打印的内容。我尝试了所有的getters,没有任何东西可以检索到用户看到的实际值。WebElementWebElement


答案 1

尝试element.getAttribute("value")

该属性用于元素标签中的文本。对于输入元素,显示的文本不由标记换行,而是在属性内部。text<input>value

注意:案件很重要。如果指定“值”,则将返回“null”值。至少对于 C# 来说,情况确实如此。


答案 2

你可以这样做:

webelement time = driver.findElement(By.id("input_name")).getAttribute("value");

这将为您提供在网页上显示的时间。


推荐