0
我想從我從硒獲得的兩個IWebelement創建一個字典,第一個元素是表頭,第二個是每列的值。有可能做到這一點?合併到IList <IWebElement>元素到字典
這是我的兩個ILIST:
IList<IWebElement> headersrows = tableheaders.FindElements(By.XPath("tr"));
IList<IWebElement> resultsrows = tableresults.FindElements(By.XPath("tr"));
我做的,從每一個列表的獲取所有的元素:
IList<IWebElement> columnsTable;
foreach (IWebElement row in resultsrows)
{
columnsTable = row.FindElements(By.TagName("td"));
}
很多都是我需要的。理解一點:你創建一個新的字典,它是一個IDictionary和Ilist的合併,並且他們使用jquery爲每行選擇所有的值作爲標記名? –
@FranciscoGonzalez,這是正確的。關鍵是一個單一的標題元素。列值的列表是通過在標題列的索引處查找TD元素來檢索的(第四個標題的值將在每行的第四個TD中)。 Selenium提供了一種搜索類似於Jquery的元素的方法,但是因爲它是C#,所以這當然不是真正的Jquery。 – Simmetric
注意:此解決方案具有嵌套循環:它使用Select()函數多次遍歷所有resultsRows。您可以通過循環遍歷resultsRows並填充多維數組,然後循環遍歷headerRows並立即創建字典條目來優化它。然而,這可能不會提高性能,並且可讀性會降低。 – Simmetric