我正在尝试使用从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"));
}
答案 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元素列表。