量角器:addLocator():'无法读取属性" querySelectorAll of null' '

时间:2015-07-14 12:02:33

标签: angularjs protractor

我试图从Protractor的文档(http://angular.github.io/protractor/#/api?view=ProtractorBy.prototype.addLocator)中运行标准示例。并且出现错误:'无法读取属性" querySelectorAll of null'

    by.addLocator('buttonTextSimple',
    function(buttonText, opt_parentElement, opt_rootSelector  ) {
    var using = opt_parentElement,
        buttons = using.querySelectorAll('button');
    return Array.prototype.filter.call(buttons, function(button) {
        return button.textContent === buttonText;
        });
    });

查看相同内容:

<button ng-click="doAddition()">Go!</button>

我该怎么做才能解决这个问题?

1 个答案:

答案 0 :(得分:1)

你应该像这样声明一个名为using的变量:

var using = opt_parentElement || document;

因此,如果没有提供可选的父元素,则将使用全局document来查询结果。

不确定文档中是否存在拼写错误,或者如果没有设置Protractor,则需要使用某些默认值自动填充opt_parentElement变量。