Javascript 用量角器检测Iframe是否有角度
我有以下不寻常的用例。我在下面详述 1) 我在一个有角度的页面上&我在页面上做一些动作[它加载一个无角度的iFrame] 2) 我切换到非角度iframe&与一些屏幕交互 3) 最终,这会导致重定向发生在有角度的页面上 当我在步骤2中使用量角器时,我必须将它与flag browser.ignoreSynchronization一起使用,因为它是非角度的。我需要一种方法来检查我正在交互的表单是否有角度,以帮助从步骤2)到步骤3)的平滑过渡 我知道你可以在页面上使用 browser.executeAsyncScript或browser.executeScript与 !!window.angular(角度v1) !!window.getAllAngularTestabilities(角度v2)Javascript 用量角器检测Iframe是否有角度,javascript,angularjs,iframe,protractor,Javascript,Angularjs,Iframe,Protractor,我有以下不寻常的用例。我在下面详述 1) 我在一个有角度的页面上&我在页面上做一些动作[它加载一个无角度的iFrame] 2) 我切换到非角度iframe&与一些屏幕交互 3) 最终,这会导致重定向发生在有角度的页面上 当我在步骤2中使用量角器时,我必须将它与flag browser.ignoreSynchronization一起使用,因为它是非角度的。我需要一种方法来检查我正在交互的表单是否有角度,以帮助从步骤2)到步骤3)的平滑过渡 我知道你可以在页面上使用 browser.executeA
但这在本用例中不起作用,因为无论您是否与非角度iframe交互,所有这些都将返回true。对于这样的用例,有人有其他的建议吗?非常感谢。当我需要自动化iframe时,通常会执行以下操作
//1)当您知道iframe在那里时
browser.switchTo().frame(0);
//2 a)您不需要禁用wait for anguler,只需使用vanila webdriver,它将在两种情况下都起作用
browser.driver.findElement(by.css('.yourscss选择器');
//多做一些互动
browser.driver.findElement(by.css('.input css selector')).sendKeys('type something');
browser.driver.findElement(by.css('.button-css-selector')).click();
//2b)或者现在只使用量角器语法,
//因为你切换了,你现在应该可以使用它了。
//3)切换回
browser.switchTo().defaultContent();
//4)例如,如果iframe不存在,则使用量角器预期条件进行检查
var EC=量角器。预期条件;
//等待ifram不再出现在dom上。
browser.wait(EC.stalenessOf($('iframe')),5000代码>