我在通过 by.binding()
等方法访问元素时遇到问题。
项目设置如下:
Non-angular website
|
--> Iframe
|
--> Angular app
这是我正在尝试做的事情的片段:
// Disable sync
browser.ignoreSynchronization = true;
// Navigate to non-angular website
browser.driver.get('http://non-angular.com');
// Switch to angular app (inside the iframe)
browser.switchTo().frame('angular-iframe');
// Search for an element
browser.driver.findElement(by.id('title')); // -> Works
element(by.binding('model.title')); // -> Fails
UnknownError: unknown error: [ng:test] no injector found for element argument to getTestability
知道我在这里缺少什么吗?
最佳答案
好的,所以问题与非 Angular 网站 + Iframe 无关。相反,它是由 Angular 手动引导引起的。
我所要做的就是告诉 Protractor 等待,直到 Angular 在页面上可用并准备好同步。
关于javascript - 将 Protractor 与非 Angular 网站托管在 iframe 内的 Angular 应用同步,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30597802/