![](/img/trans.png)
[英]how to get generalized xpath for object in Selenium webdriver
[英]how to verify object using xpath if object is invisible in selenium webdriver java
我如何使用Selenium Webdriver中的xpath驗證僅在不正確的數據輸入(文本框前的標簽,例如:登錄方案)上啟用的不可見對象。
如果所有標簽均顯示錯誤消息(例如,用戶名標簽和密碼標簽),則我可以驗證和捕獲文本(錯誤消息)。 xpath用戶名:.// [@ id ='loginForm'] / p [1] / p / label xpath密碼:.// [@ id ='loginForm'] / p [2] / p / label
但是,如果輸入正確的用戶名,Webdriver將繼續在Xpath中搜索用戶名(.//*[@id='loginForm']/p[1]/p/label),並且不會響應。
HTML僅在出現錯誤時可見:label class =“ error” generate =“ true” for =“ userName” label class =“ error” Generated =“ true” for =“ passwordField
誰能幫我這個?
使用WebDriverWait:
WebDriverWait waiting = new WebDriverWait(driver, 15, 100);
waiting.until(ExpectedConditions.invisibilityOfElementLocated(By.xpath("//*[@id='loginForm']/p[1]/p/label")));
上面的代碼將創建一個Web驅動程序等待對象,該對象最多等待15秒(每100毫秒檢查一次條件),以使該元素不可見。 如果在觸發代碼行時該元素已經不可見,則將立即通過。
根據以下評論進行編輯
如果您只是想找出不存在的元素,則可以執行以下操作:
List<WebElement> labelCount = driver.findElements(By.xpath("//*[@id='loginForm']/p[1]/p/label"));
如果大小為0,則標簽不存在,否則標簽在那里,因此類似:
if(labelCount.size() == 0){
//Get tab text
} else {
//Enter second field data
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.