[英]How do I determine if a WebElement exists with Selenium?
我知道我可以使用(driver.findElements(By.xpath("Xpath Value")).size() != 0);
但是,我使用的是頁面對象模型,其目的是在單獨的類中預定義WebElements,因此我的測試類中不需要“FindElements By”。
這就是我現在擁有的
if (objPage.webElement.isEnabled()){
System.out.println("found element");
}else{
System.out.println("element not found");
}
但是,這會嘗試識別可能不存在的WebElement。 當它不存在時,我得到:
沒有這樣的元素“例外。
最佳做法是執行您最初建議的操作,使用.findElements()
並檢查.findElements()
.size != 0
或者您也可以使用我的首選項.isEmpty()
。 您可以創建如下所示的Util函數來測試元素是否存在。
public boolean elementExists(By locator)
{
return !driver.findElements(locator).isEmpty();
}
您還可以將其構建到頁面對象中的函數中。
您可以使用isDisplayed()來檢查元素是否可見。 它足夠簡單,可以編寫一個可以做你想要的方法。 就像是:
public boolean isElementDisplayed(WebElement element) {
try {
return element.isDisplayed();
} catch(NoSuchElementException e) {
return false;
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.