請分享有關selenium webdriver的知識。請顯示實時示例。Implicit wait Vs.有什麼區別在selenium webdriver中顯式等待?
回答
檢查下面的鏈接:
Implicit Wait
- 它指示Web驅動程序等待一段時間以投票的DOM。一旦你聲明隱含的等待,它將可用於Web驅動程序實例的整個生命週期。默認情況下,該值將爲0.如果設置較長的默認值,則該行爲將根據瀏覽器/驅動程序實現定期輪詢DOM。Explicit Wait
+ExpectedConditions
- 這是自定義的。如果我們希望執行等待一段時間,直到達到某個條件,它將被使用。
隱等待 -
隱等待,基本上你告訴webdriver的,你想看看指定的Web元素不存在該webdriver的尋找延遲的方式。因此,在這種情況下,您告訴WebDriver,如果指定元素在UI(DOM)上不可用,應等待10秒鐘。
明確等待 -
明確的等待是被限制在特定的網絡元素智能等待。使用明確的等待,你基本上是告訴WebDriver最多等待X單位的時間,然後放棄。
@JimEvans我完全同意您的觀點。 –
@sircapsalot,請檢查:http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp –
給上述解決方案增加另一個觀點。
隱式等待:創建時,直到WebDriver對象死亡時才處於活動狀態。對於所有操作都很普遍。
然而,
明確等待,可申報取決於webElement行爲的特定操作。它具有定製輪詢時間和滿足條件的好處。
例如,我們聲明瞭10秒的隱式等待,但一個元素需要更多的時間,比如20秒,有時可能會在5秒出現,所以在這種情況下,聲明瞭顯式等待。
差異:
1)隱等待被設置爲對象的webdriver的整個持續時間。假設你想等待一段時間,比如說每個元素之前5秒或網頁上的很多元素加載。 現在,你不想一次又一次地寫同樣的代碼。因此,隱含的等待。 但是,如果您只想等待一個元素,請使用顯式。
2)您不僅需要顯示網頁元素,還要點擊或滿足網頁元素的某些其他屬性。這種靈活性只能通過明確的等待來提供。如果在網頁上加載動態數據,特別有用。您可以等待使用明確的等待開發該元素(不只是在DOM上顯示)。
我的思想,
隱等待:如果設置等待狀態,它會等待指定的時間量爲每findElement/findElements調用。如果行動尚未完成,它會引發異常。
顯式等待:如果等待已設置,它將等待並在提供的條件變爲true時繼續執行下一步,否則將在等待指定時間後引發異常。顯式等待僅適用於指定的地方。
隱式等待用於在整個測試腳本中的每個連續測試步驟/命令之間提供默認等待時間。因此,只有在執行先前的測試步驟/命令後經過了指定的時間量後,纔會執行後續測試步驟。
顯式等待用於暫停執行,直到達到特定條件或達到最大時間爲止。與隱式等待不同,顯式等待僅適用於特定實例。
- 1. Selenium Webdriver(VBA):顯式等待
- 2. Selenium WebDriver JS - 顯式等待
- 3. Selenium Chrome Webdriver隱式等待()
- 4. Selenium WebDriver:等待document.readyState
- 5. Selenium與WebDriver - 等待
- 6. wait-die和wound-wait有什麼區別?
- 7. WebDriver等待超時和隱式等待超時的區別?
- 8. Selenium IDE,Selenium RC和WebDriver有什麼區別?
- 9. 如何在selenium webdriver的pageobject字段中使用顯式等待?
- 10. Selenium :: WebDriver Wait(Ruby,Chrome)
- 11. Selenium webdriver java等待元素存在
- 12. 顯式等待Selenium Webdriver用於手動元素
- 13. 使用Python在Selenium Webdriver(Selenium 2)中顯式等待和隱式等待的問題
- 14. Selenium Webdriver等待網址?
- 15. 在selenium webdriver中隱含的等待
- 16. selenium webdriver中xpath的區別?
- 17. Seq.iter vs - 有什麼區別?
- 18. adb wait-for-device和adb wait-for-devices之間有什麼區別嗎?
- 19. Selenium WebDriver - 等待角度請求(Java)
- 20. |有什麼區別? vs. ||
- 21. Selenium IDE,Server,RC,2.0和WebDriver有什麼區別?
- 22. Selenium的Remote Control和WebDriver有什麼區別?
- 23. 如何等待Selenium webdriver中的警報?
- 24. 等待下載完成在selenium webdriver JAVA
- 25. Python selenium webdriver顯式等待連接錯誤
- 26. Selenium Webdriver等待元素點擊?
- 27. Selenium和Python:在select中顯式等待回發(用Selenium等待Javascript)
- 28. 流利的等待和WebDriver等待
- 29. Selenium RC和WebDriver的區別
- 30. Watir vs Watir-webdriver處理xpath有什麼區別
這是沒有什麼添加到文檔http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits – olyv
請參閱http://stackoverflow.com/questions/11736027/webdriver-等待元素或http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp#explicit-and-implicit-waits – Sighil
該文檔清楚地解釋了*兩種等待做什麼 - 但它不能解釋什麼時候使用其中一個或另一個,或者爲什麼需要隱式等待,或爲什麼隱式等待對於webdriver的生命是固定的。還有一點點信息[這裏](http://www.bizalgo.com/2012/01/14/timing-races-selenium-2-implicit-waits-explicit-waits/) – DNA