點擊之前如何可靠地等待 WebDriver 中的元素可見性?
Nov 27, 2024 am 05:58 AMWebDriver:等待元素存在
問題:如何可靠地等待元素變得可見單擊它?單獨的隱式等待看起來不一致。
為了解決這個問題,可以使用隱式等待。然而,更可靠的解決方案是:
for (int second = 0;; second++) { Thread.sleep(sleepTime); if (second >= 10) fail("timeout : " + vName); try { if (driver.findElement(By.id(prop.getProperty(vName))).isDisplayed()) break; } catch (Exception e) { writeToExcel("data.xls", e.toString(), parameters.currentTestRow, 46); } } driver.findElement(By.id(prop.getProperty(vName))).click();
登入後複製
此程式碼會等待,直到元素可見或達到逾時值。但是,它需要用戶定義等待時間,這可能很不方便。
答案:利用 WebDriver 的明確等待功能來確保可靠地等待元素存在。
以下程式碼示範了建議的方法:
WebDriverWait wait = new WebDriverWait(webDriver, timeoutInSeconds); wait.until(ExpectedConditions.visibilityOfElementLocated(By.id<locator>));
登入後複製
或者,您可以使用:
wait.until(ExpectedConditions.elementToBeClickable(By.id<locator>));
登入後複製
這些方法提供對等待條件的細微控制,消除了自訂睡眠邏輯的需求。
其他資源:
- [預期條件](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa /selenium/support/ui/ExpectedCondit ions.html)
- [WebDriverWait](https://seleniumhq.github.io/selenium/javadoc/3.141.59/org/openqa/selenium/support/ui/WebDriverWait.html)
以上是點擊之前如何可靠地等待 WebDriver 中的元素可見性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章
擊敗分裂小說需要多長時間?
3 週前
By DDD
倉庫:如何復興隊友
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前
By 尊渡假赌尊渡假赌尊渡假赌
公眾號網頁更新緩存難題:如何避免版本更新後舊緩存影響用戶體驗?
3 週前
By 王林
兩個點博物館:所有展覽以及在哪裡可以找到它們
3 週前
By 尊渡假赌尊渡假赌尊渡假赌

熱門文章標籤

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

2025年的前4個JavaScript框架:React,Angular,Vue,Svelte

如何將Maven或Gradle用於高級Java項目管理,構建自動化和依賴性解決方案?

如何將JPA(Java持久性API)用於具有高級功能(例如緩存和懶惰加載)的對象相關映射?

如何使用咖啡因或Guava Cache等庫在Java應用程序中實現多層緩存?
