将IList <iwebelement>元素合并到Dictionary中

时间:2017-08-09 13:11:57

标签: c# .net selenium

我正在尝试使用从selenium获得的两个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"));

    }

1 个答案:

答案 0 :(得分:1)

IDictionary<IWebElement, IList<IWebElement>> dict = new Dictionary<IWebElement, IList<IWebElement>>();

int index = 0;
foreach (var header in headersRows.SelectMany(r => r.FindElements(By.XPath("th"))))
{
    dict.Add(header, resultsRows.Select(r => r.FindElements(By.TagName("td"))[index]).ToList());
    index++;
}

这将为您提供一个字典,其中键是第th个元素,值是包含该列值的td元素列表。