当我执行node elementexplorer.js http://127.0.0.1:8080/app/view1
时
我得到以下错误:
出现Web驱动程序错误:等待Protractor时出错要与页面同步:"根元素(主体)没有注入器。这可能意味着它不在ng应用程序中。"
请让我知道如何提供rootelement
选项。
目前,rootElement默认为body。如果你的身体里没有你的ng应用程序,你会得到这个错误。它可以手动设置。
您需要更改rootElement。您可以直接从交互式视图中运行:
browser.rootEl = 'div#ng-app-located-here';
假设您的ng应用程序位于div#ng-app-located-here
在这种情况下,您需要指定在哪个元素上设置ng-app
。在量角器conf.js
中添加rootElement
,例如:
rootElement: 'div#nested-ng-app' // by default, it is 'body'
仅供参考,这是因为量角器角度特定的自定义定位器,如by.binding
或by.model
,使用rootElement
作为搜索的根,引用更改日志:
Protractor的自定义定位器(通过.binding、通过.model等)使用config.rootElement作为其所有搜索的根。这意味着config.rootElement用于指定如何获取Angular的注入器以及从哪里开始搜索元素。这并不适用于所有情况,例如,如果对话框搜索了元素,但它是ng应用程序的兄弟姐妹,而不是孩子。