如何检查模态弹出可见或不可见。如果不可见绕过检查

问题描述 投票:0回答:1

我自动化的角度基于UI。成功登录到主界面后,有时,基于某种逻辑,基于模态TOUR弹出这是间歇性的。我需要点击,如果模式弹出出现,如果不出现然后执行其余继续取消。但我的代码失败

“ElementNotVisibleError:元素没有相互作用”

当我使用以下代码来验证如果元件是可见的。

browser.switchTo().activeElement().then(function() {
  browser.sleep(1000);
  element(by.id("closeBtn1")).isPresent().then(function(text) {
    if (text) {
      element(by.id("closeBtn1")).element(by.xpath('span')).click();
    }
  })
});
protractor
1个回答
0
投票

以下是你可能寻找:

    browser.wait(protractor.ExpectedConditions.visibilityOf($('modal-popup-selector')), 2000)
    .then(async function () {
      $('modal-popup-cancel-button').click(); // if modal did appear then close it
    }, function () {
      // do nothing if modal did not appear within 2000 msc. 
    });

这种方法效果很好,如果你不知道什么是要显示为模式的先决条件,但对方将采取每个模式没有出现一次额外的时间(2000年MSC)。

检查visibilityOf条件的文档。

© www.soinside.com 2019 - 2024. All rights reserved.