当 ID 或任何属性中不存在值时,如何在 Selenium WebDriver 中使用 Java 从禁用的文本字段中获取值

How to get value from a disabled text field when the value is not present in ID or in any attribute using Java in Selenium WebDriver

我有一些已禁用的文本字段会根据我之前的输入自动填充一些值。我想验证自动填充的值是否符合我之前的输入。但是我无法使用 .getText().getAttribute() 从文本字段中获取值,因为该值不存在于 HTML 代码中。

下面是使用 inspect element 得到的 HTML 代码:

<span class="ProductList_Row">
<input type="text" class="ProductList_Price" style="width:97px" ***disabled*** data-validation="mandatory"> == [=11=]

根据我之前的输入,文本是一个自动填充值“100”的字段。但是如何验证禁用文本框中自动填充的值是否为100?

value属性存储了一个标签的内容,与是否禁用无关。所以,你可以这样做:

driver.findElement(By.id("write_element_id_here")).getAttribute("value");

这将为您 return 元素的值,然后您可以继续进行其余的操作。希望对你有帮助..

有时会发生这种情况,在这种情况下,您可以使用 element.getAttribute("innerHTML") 然后处理输出字符串。

在你的情况下可以帮助以下代码:

value = driver.findElement(By.className("ProductList_Price")).getAttribute("value");

希望对您有所帮助!