【发布时间】:2019-01-16 05:23:42
【问题描述】:
由于在量角器中使用 each() 方法,我收到以下错误。过去它运行良好,但现在一直因此错误而失败。
失败:过时的元素引用:元素未附加到页面文档
element.all(bars).each((element) => element.getCssValue('width'))
是否有替代方案或原因?
(为了清楚起见,我要做的就是获取一组称为条形图的 web 元素中每个元素的宽度。)
谢谢!
【问题讨论】:
-
你是在页面完全加载后执行这个吗?
-
是的,我检查了加载包装器在执行之前是否已经消失。
browser.wait(EC.invisibilityOf(element(loadingWrapper)), 6000); -
但是该代码不会停止 javascript 的执行。您可能应该使用
browser.wait返回的承诺,并且只有在它解决时才执行element.all(bars).each循环。 -
嗨@trincot 谢谢你的帮助。它最终成为一个时间问题。我添加了一个 .then(() => browser.driver.sleep(1000)) ,它现在可以正常工作了。它最初让我感到困惑,因为它在过去工作得很好。我认为这必须归结为网络延迟或量角器的优先级。再次感谢:)
-
这听起来像是一个 hacky 解决方案。最好等
browser.wait解决。
标签: javascript protractor