2012-09-20 7 views
2
<ul class="cartItems"> 
    <li id="ba464302-4733-4a06-80af-44e315d98bc9" class="cartItem"> 
     <div class="thumbContainer"> 
      <span class="transferLinks"> 
    <a href="javascript:;" class="saveForLater">Save for later </a> 

    <li id="199e3fff-f80c-4df4-a4ff-26edd804ee5c" class="cartItem"> 
    <div class="thumbContainer"> 
      <span class="transferLinks"> 
    <a href="javascript:;" class="saveForLater">Save for later </a> 

동적 "li id"목록에있는 "saveForLater"클래스의 모든 요소를 ​​개별적으로 선택하려고합니다 (예 : 0F347571a5 -406c-49da-ac1f-37cf9aa2628b)의 "ul class", "cartItems"내에 있습니다. 난 단지, 모든 텍스트 cartItems에서 내가 의지 위에 2 호선 찾고 있던 "리 ID를"하지 반환 위에 다음 코드Selenium C# 클래스 내의 동적 목록에있는 요소를 선택하는 방법

  1. IWebElement cartItemByXpath = Driver.FindElement(By.XPath("//*[@class='cartItems']/li"));
  2. IWebElement cartItems = Driver.FindElement(By.CssSelector(".cartItems .cartItem .actionLinks .saveForLater"));

에게 1 호선을 시도 saveForLater 클래스를 선택하십시오. 그러나 여전히 나머지 "li id"아래의 saveForLater 클래스의 나머지 부분을 가져올 필요가 있습니다. "li id"는 동적이며 값이 변경됩니다. 모든 입력은 크게 감사하겠습니다.

답변

0

Driver.FindElements을 사용하여 일치하는 요소 목록을 모두 얻은 다음 필요에 따라 목록을 반복합니다.

IList<IWebElement> cartItems = Driver.FindElements(By.CssSelector(".cartItems .cartItem .actionLinks .saveForLater")); 

foreach (IWebElement cartItem in cartItems) { 
//your action on individual "cartItem" 

} 

희망이 ... 도움이

관련 문제