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