【发布时间】:2020-10-11 10:48:42
【问题描述】:
隐式等待本质上是全局的,而显式等待则适用于某些特定操作的发生。那么,如果我们可以使用隐式等待解决问题,为什么还要使用显式等待呢?
【问题讨论】:
标签: selenium selenium-webdriver webdriver webdriverwait implicitwait
隐式等待本质上是全局的,而显式等待则适用于某些特定操作的发生。那么,如果我们可以使用隐式等待解决问题,为什么还要使用显式等待呢?
【问题讨论】:
标签: selenium selenium-webdriver webdriver webdriverwait implicitwait
隐式等待很容易应用,但它也有一些缺点。它是在 setup 方法中声明的单行代码,适用于整个测试脚本。
通过使用显式等待命令,WebDriver 被指示等待直到某个条件(预期条件)发生,然后再继续执行代码,例如“元素定位的可见性”。
在某些元素自然需要更多时间加载的情况下,设置显式等待很重要。如果设置了隐式等待命令,则浏览器将在加载每个 Web 元素之前等待相同的时间帧。这会导致执行测试脚本时出现不必要的延迟。
显式等待更智能,但只能应用于指定元素。但是,它是对隐式等待的改进,因为它允许程序为动态加载的 Ajax 元素暂停。
【讨论】: