首页 > 解决方案 > 有没有办法尽可能多地刷新页面并等待元素在硒中加载到该页面中?

问题描述

我需要在连续刷新页面后检查元素是否出现,因为需要一段时间才能反映更改以及元素出现在该页面中。

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

标签: selenium-webdriver

解决方案


只是为了确认一下,听起来页面一旦内容可用就不会动态更新,所以你必须等到那是真的,然后手动刷新,对吧?

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

如果真的没有可见的反馈,那么您仍然有几个选择:

简单:硬编码一个比操作完成的时间更长的睡眠,并刷新一次。

:在一个循环中,睡眠持续延迟,刷新,重复直到超时。

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


推荐阅读