我正在尝试使用PhantomJS测试AngularJS教程(http://angular.github.io/angular-phonecat/step-7/app)。我无法输入实际运行的搜索。
以下是我目前的情况:
var page = new WebPage();
page.open('http://angular.github.io/angular-phonecat/step-7/app', function() {
page.includeJs("http://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js", function() {
page.evaluate(function() {
$("[ng-model=query]").click();
$("[ng-model=query]").focus();
$("[ng-model=query]").val("xoom");
console.log($('ul.phones').text());
});
phantom.exit()
});
});
答案 0 :(得分:2)
直接更改输入值时,绑定似乎不起作用。您需要使用PhantomJS的本机输入法sendEvent
。
page.open('http://angular.github.io/angular-phonecat/step-7/app', function() {
page.evaluate(function() {
document.querySelector('[ng-model=query]').focus();
});
page.sendEvent("keypress", "xoom");
page.evaluate(function() {
console.log(document.querySelectorAll('ul.phones li').length + " products");
});
phantom.exit();
});