cWa*_*ren 4 jquery selenium input angularjs
我有一个使用ng-model绑定到javascript对象的文本输入字段.javascript对象为字段提供初始值.
<input class="class1 class2" type="text" ng-model="scopeVar"></input>
Run Code Online (Sandbox Code Playgroud)
scopeVar是文本值.
当页面加载时,Selenium(使用firefox驱动程序)可以找到输入字段,验证它是否可见,可以在字段中输入文本然后再读取该文本,但它无法读取最初在该字段中的文本.
如果我在firefox浏览器窗口中执行$('.class1.class2').val(),它将返回预期的默认值.
如果我执行((JavascriptExecutor)驱动程序).executeScript("$('.class1.class2').val()")它返回null.如果我执行driver.driver.findElement(By.cssSelector(".class1.class2")).getText()它返回null.
所以看起来Angular正确地填充了DOM(就jQuery而言),但是Selenium Web Driver无法读取它.
注意:在我尝试阅读之前,我确认我有一个元素并且它是可见的.
任何帮助表示赞赏.
我没有具体了解您的应用程序,但这适用于ng-model映射输入字段:
WebDriver wd = new FirefoxDriver();
wd.get("http://jsfiddle.net/SAWsA/11/show/");
WebElement input = wd.findElement(By.tagName("input"));
input.sendKeys("hello");
input = wd.findElement(By.tagName("input"));
System.out.println("fieldValue=" + input.getAttribute("value"));
wd.quit();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7107 次 |
| 最近记录: |