有没有一种方法可以刷新页面尽可能多并等待元素加载到硒页面中?

时间:2019-04-06 08:41:35

标签: selenium-webdriver

我需要检查连续刷新页面后是否出现了某个元素,是否需要一段时间才能反映出更改并将该元素显示在该页面中。

硒中是否有使用Ruby作为编程语言的内置方法?

2 个答案:

答案 0 :(得分:1)

只需确认一下,听起来页面一旦内容可用就不会动态更新,因此您必须等到这是事实之后再手动刷新,对吗?

我不知道硒中内置有什么可以处理的。感觉它甚至可能是需要更多设计工作的UI的症状(请原谅我的批评)。如果用户正在经历与测试相同的事情-开始一个动作,等待一段未指定的时间,然后手动刷新以查看结果-那是一种糟糕的用户体验。如果这是一个错误的假设,并且有反馈(例如微调器),那么最好的选择是有条件地等待微调器出现然后消失,然后刷新一次。

如果确实没有可见的反馈,那么您仍然有两个选择:

轻松:对睡眠进行硬编码,该睡眠的时间长于操作完成所需的时间,并刷新一次。

:在一个循环中,以恒定的时间睡眠,刷新,重复直到出现超时。

:如果所需的延迟变化很大(有时数秒,有时甚至数分钟),则可以考虑采用指数退避解决方案,该解决方案在每次迭代之前休眠更长的延迟,然后最终超时。好处是您不会疯狂地刷新数十次,缺点是,如果内容在下一个大延迟开始后才到达,则延迟可能会不必要地长。

答案 1 :(得分:0)

您可以使用 wait method 使元素可用。 如果您需要连续刷新页面,请确保每次刷新后都等待。