Java Selenium中Fluent Wait和显式Wait的区别?

Java Selenium中Fluent Wait和显式Wait的区别?,java,selenium,selenium-webdriver,Java,Selenium,Selenium Webdriver,我知道selenium中三种不同等待的基本定义——隐式、显式和流畅。有人能解释一下显式等待和流畅等待的区别吗。我知道我们可以在Fluent中添加轮询时间和异常处理,但对于何时确切使用哪种方式有疑问?使用显式等待可以实现多线程处理吗?当某个特定元素的加载时间超过一分钟时,可能会出现这样的情况。在这种情况下,您肯定不希望为隐式等待设置大量时间,因为如果您这样做,您的浏览器将为每个元素等待相同的时间。 因此,我们将使用像thread.sleep()和webdriver wait()这样的显式等待 说到

我知道selenium中三种不同等待的基本定义——隐式、显式和流畅。有人能解释一下显式等待和流畅等待的区别吗。我知道我们可以在Fluent中添加轮询时间和异常处理,但对于何时确切使用哪种方式有疑问?使用显式等待可以实现多线程处理吗?

当某个特定元素的加载时间超过一分钟时,可能会出现这样的情况。在这种情况下,您肯定不希望为隐式等待设置大量时间,因为如果您这样做,您的浏览器将为每个元素等待相同的时间。 因此,我们将使用像thread.sleep()和webdriver wait()这样的显式等待

说到fluentwait,它是webdriverwait的一个子类,我相信fluentwait已经从selenium3.2jar中退役了。 Fluent wait用于元素有时在一分钟内出现,有时加载需要几分钟,以及抛出NoSuchElementException时


希望这能有所帮助。

伙计们,请不要共享链接,因为我已经介绍了基本定义。我想知道什么时候使用哪个等待,以及多线程是否在决策过程中起作用???@DebanjanB我同意这个问题是重复的,但是你写的另一个答案没有很好地解释,实际上回答质量很差,它没有涵盖隐式等待的含义。所以请不要像往常一样进入愤怒模式,请移除重复标签。至少让我们写下正确的答案。@DebanjanB你为什么要把这个问题骗给dup?为什么两个DUP都没有选定的答案,但在这两种情况下都碰巧有您的答案?为什么你在两种情况下的答案基本上是相同的(而且真的,真的,真的很长)?您应该删除dup中的dup,然后在另一个dup上修复您的答案,以便更清楚(和正确)。Thread.sleep不是显式等待!你解释的不是流畅的等待。隐式等待具有边界,但它允许在屏幕中元素存在的确切时刻执行操作。线程。睡眠不属于显式等待??那是什么样的等待呢?我只是好奇地想知道!sleep是Java sleep语句,您可以使用它在一行代码到另一行代码之间进行延迟。这是正常的sleep语句,因为任何其他程序都有sleep语句。显式等待和隐式等待不是静态等待。@Rajagopalan:
Thread.sleep(1000)
是一种极端/最差的显式等待,它将条件设置为等待的确切时间段。您可以参考selenium的官方链接,其中selenium的贡献者提到了相同的()@cruisepandey啊,好的,谢谢。