Selenium WebDriver中有隐式和显式等待。它们之间有什么区别?
请分享有关Selenium WebDriver的知识。请显示带有隐式和显式等待的实时示例。
隐式等待基本上是您告诉WebDriver延迟的一种方式,您希望看到该延迟,以了解WebDriver所寻找的指定Web元素是否不存在。因此,在这种情况下,您要告诉WebDriver在UI(DOM)上指定的元素不可用的情况下,它应该等待10秒。
明确等待
-显式等待是仅限于特定Web元素的智能等待。使用显式等待,您基本上是在最大程度上告诉WebDriver在放弃之前等待X单位时间。
2)您不仅需要显示Web元素,而且还需要单击它或满足Web元素的某些其他属性。只能通过显式等待才能提供这种灵活性。如果要在网页上加载动态数据,则特别有用。您可以使用显式等待来等待该元素的开发(不仅显示在DOM上)。
隐式等待:创建后,它一直存在,直到WebDriver对象死亡。而且就像所有操作一样。
而可以针对特定操作声明Explicit wait,具体取决于webElement的行为。它具有自定义轮询时间和条件满足的好处。例如,我们声明了10秒的隐式等待,但是元素花费的时间更多,例如20秒,有时可能会出现5秒,因此在这种情况下,声明了显式等待。
Implicit Wait:如果设置了wait,它将为每个findElement / findElements调用等待指定的时间。如果操作未完成,它将引发异常。
Explicit Wait:如果设置了wait,它将在提供的条件变为true时等待并继续进行下一步,否则它将在等待指定的时间后引发异常。显式等待仅在指定的位置适用一次。