누구든지 요소를 확인하는 방법 샘플 코드를 보내주세요.
자바를 사용하는 셀레늄 웹디비어에서
쉽게 이해할 수 있도록 자바 인쇄문을 사용했습니다.
요소 존재를 확인합니다:
if(driver.findElements(By.xpath("value")).size() != 0){
System.out.println("요소가 있습니다");
}else{
System.out.println("요소가 없습니다");
}
또는
if(driver.findElement(By.xpath("value"))!= null){
System.out.println("요소가 있습니다");
}else{
System.out.println("요소가 없습니다");
}
표시됨을 체크합니다:
if( driver.findElement(By.cssSelector("a > font")).isDisplayed()){
System.out.println("요소가 표시됨");
}else{
System.out.println("요소는 보이지 않음");
}
Enable을 체크합니다:
if( driver.findElement(By.cssSelector("a > font")).isEnabled()){
System.out.println("요소가 활성화되었습니다");
}else{
System.out.println("Element is Disabled");
}
텍스트가 있는지 확인하려면
if(driver.getPageSource().contains("확인할 텍스트")){
System.out.println("텍스트가 있습니다");
}else{
System.out.println("텍스트가 없습니다");
}
다음과 같이 시도해 볼 수 있습니다:
WebElement rxBtn = driver.findElement(By.className("icon-rx"));
WebElement otcBtn = driver.findElement(By.className("icon-otc"));
WebElement herbBtn = driver.findElement(By.className("icon-herb"));
Assert.assertEquals(true, rxBtn.isDisplayed());
Assert.assertEquals(true, otcBtn.isDisplayed());
Assert.assertEquals(true, herbBtn.isDisplayed());
이것은 예시일 뿐입니다. 기본적으로 사용하려는 WebElement 변수를 선언하고 정의한 다음 표시 여부를 '어서트'합니다. 여기서는 TestNG 어설션을 사용하고 있습니다.
아래 코드를 사용해 보십시오.
private enum ElementStatus{
VISIBLE,
NOTVISIBLE,
ENABLED,
NOTENABLED,
PRESENT,
NOTPRESENT
}
private ElementStatus isElementVisible(WebDriver driver, By by,ElementStatus getStatus){
try{
if(getStatus.equals(ElementStatus.ENABLED)){
if(driver.findElement(by).isEnabled())
return ElementStatus.ENABLED;
return ElementStatus.NOTENABLED;
}
if(getStatus.equals(ElementStatus.VISIBLE)){
if(driver.findElement(by).isDisplayed())
return ElementStatus.VISIBLE;
return ElementStatus.NOTVISIBLE;
}
return ElementStatus.PRESENT;
}catch(org.openqa.selenium.NoSuchElementException nse){
return ElementStatus.NOTPRESENT;
}
}
webDriver.findElement(By.xpath("//*[@id='element']")).isDisplayed();
public boolean isElementPresentCheckUsingJavaScriptExecutor(WebElement element) {
JavascriptExecutor jse=(JavascriptExecutor) driver;
try {
Object obj = jse.execute("return typeof(arguments[0]) != 'undefined' && arguments[0] != null;",
element);
if (obj.toString().contains("true")) {
System.out.println("isElementPresentCheckUsingJavaScriptExecutor: SUCCESS");
return true;
} else {
System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL");
}
} catch (NoSuchElementException e) {
System.out.println("isElementPresentCheckUsingJavaScriptExecutor: FAIL");
}
return false;
}