在 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>