Java + selenium Timeout介面用法介紹
阿新 • • 發佈:2020-09-10
driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);
在呼叫timeouts()介面之前,我們呼叫了manage()介面,這個介面下的操作都是用來控制瀏覽器本身的。
timeout介面有以下三種常用的介面。
implicitlyWait():隱式時間等待是在查詢元素的時候,設定一個最大時間值,如果driver第一次沒有找到網頁元素,那麼就繼續找,直到消耗了設定的最大時間值,還是沒有找到,那麼就丟擲沒有找到元素的異常。如果在設定時間範圍內就找到了該元素,那麼就執行下一行程式碼,不需要再等時間,這就是隱式等待的含義。所以,隱式時間等待一般結合查詢網頁元素一起。
setScriptTimeout(),作用是,在設定規定的時間內,等待非同步指令碼的執行結束,而不是裡面丟擲錯誤。這個在執行javascript指令碼的時候可能會使用。
pageLoadTimeout(),字面意思就網頁載入超時,作用就是在設定規定時間內,等待網頁完整載入完成,而不是裡面丟擲錯誤。我們知道如果網速慢,或者網頁元素太多,例如網頁做了大面積渲染,肯定會造成網頁載入速度變慢。這個介面的作用就是,來處理這類問題的。
注意使用timeouts()介面時不要忘記匯入介面包
import java.util.concurrent.TimeUnit;