繁体   English   中英

如何使用实习生Leadfoot waitForDeletedByXpath函数?

[英]How to use intern leadfoot waitForDeletedByXpath function?

在什么情况下可以使用实习生的前脚板waitForDeletedByXpath函数? 从文档中,我了解到此方法等待元素在Page中变为不可见。 但是在实现时似乎并非如此。 我正在使用的Scenerio如下:

我的应用程序中有一个页面,我可以在其中搜索带有一些预定义参数的数据。 单击搜索按钮后,将在页面上显示加载图标,直到将数据加载到数据网格中为止,并且在加载数据之后,加载图标消失。 因此,我试图使用此功能来等待加载图标从页面中消失,以便我可以读取datagrid中的数据而不会出现任何问题,但它似乎无法正常工作。 有人可以介绍一下此功能的工作原理,并向我指出正确的方向以实现我正在尝试做的事情。 谢谢

我相信这里发生的事情是对waitForDeletedByXPath方法的作用的轻微误解。

该方法的文档说的是:
“等待此元素内与给定name属性匹配的所有元素被破坏 。”

当您的加载图标消失时,它很可能仍是DOM的一部分,尽管它只是设置为不可见。 此方法希望该元素完全不再是DOM的一部分。

根据我的经验,您需要做的是为您的加载图标设置自己的“等待元素不可见”方法。

例如:

return this.remote .then(function () { const waitForLoadingIconNotDisplayed = function (remoteSession) { return remoteSession .findByCssSelector('your_loading_icon_css_selector') .isDisplayed() .then(function (isDisplayed) { if (isDisplayed) { return waitForLoadingIconNotDisplayed(remoteSession); } return true; }); }; return Promise.all([waitForLoadingIconNotDisplayed(this.parent)]); })

这将一直循环直到满足以下条件:不再使用Promise.all()调用将您的加载图标设置为在UI中显示。

希望这有助于引导您走上正确的道路!

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM