2014-02-11 3 views
0

findElements을 사용하여 페이지에서 링크를 찾으려고합니다. 이 성명서를 평가하는 데에는 많은 시간이 걸립니다. 링크가 존재하는지 여부를 찾는 효율적인 방법이 있습니까?요소가 있는지 여부를 확인하는 driver.findelement는

driver.findElements(By.linkText("New pool")).size()<=0 

답변

2

이것은 아마도 텍스트로 요소를 찾는 것입니다. 이드 또는 클래스 이름으로 요소를 찾는 것이 더 효율적으로 이루어져야합니다. 더 많은 정보 : http://selenium.googlecode.com/git/docs/api/java/org/openqa/selenium/By.html.

또한 링크를 찾으려고했습니다. 단일 링크를 찾는 경우 driver.findElement() 메소드 만 사용하면됩니다. 이 요소를 사용하여 요소가 페이지에 있는지 확인하려면 WebDriverWait을 대신 사용할 수 있습니다. 더 많은 정보 : http://docs.seleniumhq.org/docs/04_webdriver_advanced.jsp. 마지막으로

당신은 또한 요소가 같이 존재 여부를 확인하기 위해 디스플레이 수표를 사용하고 예외를 잡을 것입니다 별도의 사용자 정의 메소드를 만들에 볼 수 있었다 :

public boolean isExists(By by) { 
    try { 
    return driver.findElement(by).isDisplayed(); 
    } catch (NoSuchElementException e) { 
    return false; 
    } 
} 
+1

는'WebDriverWait'는 당신이 경우에 도움이 될 것입니다 요소가 나타날 때까지 기다리거나 다른 조건이 충족 될 때까지 기다리고 싶습니다. 요소가 이미 페이지에있는 경우 유용하지 않습니다. – xyz

관련 문제