2016-11-18 19 views
0

所以我有這個代碼,我收集元素,然後將所有類名寫入List然後找出該特定類的索引。更有效的方式找到列表中的元素類的索引

這對我來說似乎很長,也許我應該使用linq,但是我的大腦無法想出另一種方式來做到這一點(這是星期五!!)。

private void Pagination() 
    { 
     List<string> classnames = new List<string> { }; 
     var pagination = _driver.FindElements(By.CssSelector("ul[data-type='order-sitebundle']> li")); 
     //var activepage = _driver.FindElement(By.CssSelector("ul[data-type='order-sitebundle']> li[class='active']")); 
     foreach (var item in pagination) 
     { 
      classnames.Add(item.GetAttribute("className")); 
     } 

     int actibve = classnames.IndexOf("active"); 
     pagination[actibve++].Click(); 
+0

爲什麼不寫一個選擇直接找到該元素?或者找到活動之後的下一個 – lauda

+0

@lauda我需要找出這個類,這樣我才能選擇列表中的下一個元素,這就是爲什麼'pagination [actibve ++]' –

回答

0

查找活躍的元素:

ul[data-type='order-sitebundle'] li[class='active'] 

您不必使用actibve++,尋找下一個li活動一個接一個:

ul[data-type='order-sitebundle'] li[class='active'] + li 
相關問題