在 phantomJS 中使用 angularJS 函数
Using angularJS function in phantomJS
我在网上搜索了一下,没有找到。
我有一个脚本 angularJS,它在我的 html 页面中出现或消失元素。
我使用 phantomJS 脚本访问 html 页面并执行一些操作。但是我可以在幻影脚本中使用 $scope
或 angular 脚本的功能吗?
我知道我可以使用 jQuery 但我不知道 angular。
终于找到了。脚本 PhantomJS 使用 javascript 所以我们只需要调用 angularJS 元素就像 javascript:
这是angular.element($("#someThing")).scope();
获取作用域。
所以我们可以有这个 phantomJS 的例子:
page.open('http://www.google.com', function (status) {
if ('success' !== status) {
console.log("Error");
} else {
page.evaluate(function() {
angular.element($("#someThing")).scope().aFunctionInTheScope();
var scope = angular.element($("#myDiv")).scope();
var width = scope.getWidth();
});
phantom.exit();
}
});
使用这样的 angularJS 代码:
$scope.getWidth = function() {
return 1600;
}
和这样的 html 页面:
<div id="myDiv">
blabla
</div>
我在网上搜索了一下,没有找到。
我有一个脚本 angularJS,它在我的 html 页面中出现或消失元素。
我使用 phantomJS 脚本访问 html 页面并执行一些操作。但是我可以在幻影脚本中使用 $scope
或 angular 脚本的功能吗?
我知道我可以使用 jQuery 但我不知道 angular。
终于找到了。脚本 PhantomJS 使用 javascript 所以我们只需要调用 angularJS 元素就像 javascript:
这是angular.element($("#someThing")).scope();
获取作用域。
所以我们可以有这个 phantomJS 的例子:
page.open('http://www.google.com', function (status) {
if ('success' !== status) {
console.log("Error");
} else {
page.evaluate(function() {
angular.element($("#someThing")).scope().aFunctionInTheScope();
var scope = angular.element($("#myDiv")).scope();
var width = scope.getWidth();
});
phantom.exit();
}
});
使用这样的 angularJS 代码:
$scope.getWidth = function() {
return 1600;
}
和这样的 html 页面:
<div id="myDiv">
blabla
</div>