我有一个文本输入框,使用ng-model绑定到一个javascript对象。该javascript对象为该字段提供了初始值。
<input class="class1 class2" type="text" ng-model="scopeVar"></input>
scopeVar是一个文本值。
当页面加载时,Selenium(使用火狐驱动程序)可以找到输入字段,验证它是否可见,可以输入文本到该字段中,然后读取该文本,但无法读取最初在字段中的文本。
如果我在火狐浏览器窗口中执行$('.class1.class2').val(),它会返回预期的默认值。
如果我执行((JavascriptExecutor) driver).executeScript("$('.class1.class2').val()"),它会返回null。如果我执行driver.driver.findElement(By.cssSelector(".class1.class2")).getText(),它也会返回null。
因此,看起来Angular正确地填充了DOM(就jQuery而言),但Selenium Web Driver无法读取它。
注意:在尝试读取之前,我确实验证了是否有元素并且它是可见的。
感谢您的帮助。