1.selenium的顯示等待
原理:顯式等待,是明確的要等到某個(gè)元素的出現(xiàn)或者是某個(gè)元素的可點(diǎn)擊等條件,等不到,一直等,除非在規(guī)定的時(shí)間之內(nèi)都沒找到,那么跳出Exception.(簡而言之:是直到元素出現(xiàn)才去操作,如果超時(shí)則報(bào)異常)
new WebDriverWait(driver, timeout)).until(ExpectedConditions.presenceOfElementLocated(by);
2.selenium的隱式等待
原理:隱式等待,是在創(chuàng)建driver時(shí),為瀏覽器對象設(shè)置一個(gè)等待時(shí)間。這個(gè)方法是得不到某個(gè)元素等待一段時(shí)間,直到拿到某個(gè)元素位置。
注意:在使用隱式等待的時(shí)候,實(shí)際上瀏覽器會(huì)在你自己設(shè)定的時(shí)間內(nèi)不斷的刷新頁面去尋找我們需要的元素
river.manage().timeouts().implicitlyWait(second, TimeUnit.SECONDS)
3.笨方法等待
使當(dāng)前線程進(jìn)入等待,Thread.sleep();這種等待屬于死等,很容易讓線程掛掉,使程序拋異常,所以我們要慎用此方法。