selenium-webdriver - 有没有办法尽可能多地刷新页面并等待元素在硒中加载到该页面中?
问题描述
我需要在连续刷新页面后检查元素是否出现,因为需要一段时间才能反映更改以及元素出现在该页面中。
selenium 中是否有使用 Ruby 作为编程语言的内置方法?
解决方案
只是为了确认一下,听起来页面一旦内容可用就不会动态更新,所以你必须等到那是真的,然后手动刷新,对吧?
我不知道 selenium 有什么东西可以处理这个问题。感觉它甚至可能是需要更多设计工作的 UI 的症状(请原谅我的批评)。如果用户正在经历与测试相同的事情——开始一个动作,等待一段未指定的时间,然后手动刷新以查看结果——那是一种糟糕的用户体验。如果这是一个错误的假设,并且存在反馈(例如微调器),那么您最好的选择是有条件地等待微调器出现然后消失,然后刷新一次。
如果真的没有可见的反馈,那么您仍然有几个选择:
简单:硬编码一个比操作完成的时间更长的睡眠,并刷新一次。
中:在一个循环中,睡眠持续延迟,刷新,重复直到超时。
Hard:如果所需的延迟变化很大(有时是几秒钟,有时是几分钟),您可以考虑采用指数回退解决方案,该解决方案在每次迭代中休眠越来越长的延迟,然后最终超时。好处是你不会疯狂地刷新几十次,坏处是你的延迟可能会不必要的长,如果内容是在下一个大延迟开始之后到达的。
推荐阅读
- javascript - 一个输入中的多个正则表达式
- excel - 如何在Excel中特定单元格中的每个点/句点之后将每个第一个字母大写
- botframework - 如何将 ILogger 传递给对话框
- php - 仅在控制器存储功能 Laravel 6 上接收字符串“admin”
- javascript - 当我们单击下一步并预览时,隐藏所有文章并按 5 5 显示它们
- terraform - 没有可用的提供者“azure”插件与此 Terraform 版本兼容。Azurerm -1.28 Terraform -
- zsh - 当我调用第 3 方文本替换工具时,zsh 不断从路径中删除尾部斜杠
- amazon-web-services - 使用 AWS 开发工具包获取最新的 Amazon RDS 快照
- c++ - 创建一个带有无限数量参数的静态类函数
- json - 无法从 Facebook 访问 json 文件中的“内容”键