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