2012-09-20 18 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類」,「cartItems」內。我曾嘗試下面的代碼Selenium C#如何選擇一個類中的動態li列表上的元素

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

1線之上僅返回所有的文字下cartItems,而不是「李ID」,我一直在尋找 2號線上面會選擇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" 

} 

希望這有助於...

相關問題