2017-12-19 2 views
0

어떤 이유로이 코드는 향상된 for 루프를 사용하여 목록의 모든 요소를 ​​반복하는 경우에도 항상 첫 번째 요소의 제목을 인쇄합니다.Java : Selenium에서 WebElement List를 통해 반복 할 수 없습니다.

List<WebElement> elementList = getAllElements(driver); 

    String title = ""; 
    String[] XPath = {"//*[contains(@id,'itemName')]"}; 


    for (WebElement singleElement : elementList) { 

     try { 
      title = singleElement.findElement(By.xpath(XPath[0])).getText(); 
      System.out.println("Title: " + title); 

     } catch (Exception e) { 
      // TODO Auto-generated catch block 
      e.printStackTrace(); 
     } 

    } 

다른 타이틀리스트의 169 개 요소가 있습니다 대신 169 다른 제목을 인쇄하는, 그것은 첫 타이틀을 169 번 인쇄합니다.

내가 뭘 잘못하고 있니?

답변

0

아무도 신경 쓰지 않고 답변을 찾았으며 절대적인 XPath 검색과 절대적인 XPath 검색을 함께 사용해야합니다. 대신 절대의 XPath의 상대 XPath를 사용하는

String[] XPath = {".//*[contains(@id,'itemName')]"}; 

여분의 도트 힘 :

String[] XPath = {"//*[contains(@id,'itemName')]"}; 

에 :

은 당신이해야 할 모든 변화이 문제를 해결하려면.

다른 사람들에게 도움이되기를 바랍니다.

관련 문제