量角器:等待元素变得不可见/隐藏

vic*_*hsu 21 hidden invisible element wait protractor

我看到其他量角器相关帖子提到如何等待元素变得可见.但是,最近,我遇到了一个相反的用例.我想等一个元素,直到它变得不可见.因为我找不到任何具体的信息.我继续前进,想出了一个解决方案.

var ptor = protractor.getInstance();
    ptor.wait(function() {

        return element(by.css('#my-css-here')).isDisplayed().then(function(isVisible){
            console.log('is visible :' + isVisible);
            return !isVisible;
        });

    }, 12000).then(function(){
        //do whatever you want 
});
Run Code Online (Sandbox Code Playgroud)

希望它有所帮助.任何建议都是受欢迎的.

谢谢,

Al *_*lin 16

使用elementexplorer(https://github.com/angular/protractor/blob/master/docs/debugging.md)我查看了量角器对象并找到了一个对我来说非常有用的答案:

var el = element(by.id('visibleElementId'));
browser.driver.wait(protractor.until.elementIsNotVisible(el));
Run Code Online (Sandbox Code Playgroud)

  • 从量角器api,你可以做:`var EC = protractor.ExpectedConditions; browser.wait(EC.not(EC.presenceOf致发光(EL));` (4认同)
  • 我找不到`protractor.until`的任何文档.它是什么?它有什么作用? (3认同)

小智 8

来自@Machtyn这应该是正确的答案: var EC=protractor.ExpectedConditions; browser.wait(EC.not(EC.presenceOf(el)), someTimeoutInMilli);