【问题标题】:Protractor not able to find element in Overlay量角器无法在叠加中找到元素
【发布时间】:2019-06-05 06:06:10
【问题描述】:

我正在尝试使用量角器打字稿获取错误消息的文本。该消息仅显示几秒钟。

下面是元素的完整 HTML:

<mas-popup-message _ngcontent-c24="" _nghost-c6="" class="ng-star-inserted">
<div _ngcontent-c6="" class="report-panel__container">
  <i _ngcontent-c6="" class="material-icons close">close</i>

  <div _ngcontent-c6="" class="report-panel__container-columns ng-star-inserted">
  <div _ngcontent-c6="" class="report-panel__container-columns-content-error">User Creation Failed</div>
  </div>
    <!---->
    <!---->

</div>
</mas-popup-message>

我试过下面的代码

  browser.wait(EC.visibilityOf(element(by.tagName("mas-popup-message"))),5000,"error returned");

我使用过 isDisplayed()、isPresent()、EC.presenceOf,但在每种情况下都返回相同的错误。

NoSuchElementError:使用定位器找不到元素:

我使用的定位器是正确的。我认为该元素在覆盖中,但它不是 iframe。任何人都可以帮助可能的解决方案吗?

【问题讨论】:

  • 嘿。首先,您能否在显示少数错误时发生了什么变化(通常某些元素的任一类都附加了showdisplay 或类似的东西;或者元素出现并在那之后消失)。其次看看错误消息消失后​​会发生什么(很可能仍然可以从浏览器的控制台访问)。让我知道结果,我会帮你的
  • 我上面分享的完整HTML代码在显示错误消息时出现,在错误消息消失时消失
  • 然后我会尝试等待$('.report-panel__container-columns-content-error') 的存在,然后使用.getText() 代替.getAttribute("innerText");,如果您需要帮助来编写确切的解决方案,请告诉我

标签: javascript typescript jasmine protractor


【解决方案1】:

尝试使用: browser.wait(EC.visibilityOf(element(by.css("mas-popup-message"))),5000,"error returned");

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-03
    • 1970-01-01
    • 2017-03-22
    • 1970-01-01
    相关资源
    最近更新 更多