这是我在表单上的文本框中使用的HTML:
<input type="text" onblur="javascript:itemLostFocus('18A3461989AC0244E050A20AB17C4671');" onkeydown="javascript:itemChanging('18A3461989AC0244E050A20AB17C4671');" value="972" name="18A3461989AC0244E050A20AB17C4671" maxlength="3" size="3"/>
我接下来要做的是从972更新文本框输入到123.现在如果我使用Selenium WebDriver的getAttribute("value")
方法检查同一文本框的value属性,它仍然显示972而不是123。
我应该寻找什么属性来检索值123?
答案 0 :(得分:1)
由于Selenium WebDriver执行得如此之快,当您更新输入值时,您的getAttribute("value")
方法正在执行,然后您的输入才有机会更新。
在您的BasePage中,您需要waitFor boolean
protected void waitFor(BooleanCondition condition) {
waitFor(condition, "(none)");
}
在您的对象页面中,您需要在更新输入后和致电waitFor
之前调用getAttribute("value")
方法
public ObjectPage readValue(String value) {
// whatever update happens
waitFor(Conditions.elementIsNotDisplayed("#waiting_dialog"));
return this;
}