1. 程式人生 > 實用技巧 >Java + selenium Timeout介面用法介紹

Java + selenium Timeout介面用法介紹

driver.manage().timeouts().pageLoadTimeout(5, TimeUnit.SECONDS);  

在呼叫timeouts()介面之前,我們呼叫了manage()介面,這個介面下的操作都是用來控制瀏覽器本身的。

timeout介面有以下三種常用的介面。

implicitlyWait():隱式時間等待是在查詢元素的時候,設定一個最大時間值,如果driver第一次沒有找到網頁元素,那麼就繼續找,直到消耗了設定的最大時間值,還是沒有找到,那麼就丟擲沒有找到元素的異常。如果在設定時間範圍內就找到了該元素,那麼就執行下一行程式碼,不需要再等時間,這就是隱式等待的含義。所以,隱式時間等待一般結合查詢網頁元素一起。

setScriptTimeout(),作用是,在設定規定的時間內,等待非同步指令碼的執行結束,而不是裡面丟擲錯誤。這個在執行javascript指令碼的時候可能會使用。

pageLoadTimeout(),字面意思就網頁載入超時,作用就是在設定規定時間內,等待網頁完整載入完成,而不是裡面丟擲錯誤。我們知道如果網速慢,或者網頁元素太多,例如網頁做了大面積渲染,肯定會造成網頁載入速度變慢。這個介面的作用就是,來處理這類問題的。

注意使用timeouts()介面時不要忘記匯入介面包

import java.util.concurrent.TimeUnit;