我在运行以下代码片段时会抛出异常。
我有一个iListof webelements,如果该元素包含字符串“WSC”,我想将它从iList中删除。
任何人都可以帮助我吗?代码如下。
IList<IWebElement> tableRows;
tableRows = FindElement(By.XPath("//div[@ui-grid='vm.gridWoodSmokeViolations']")).FindElements(By.XPath("//div[@role='row']"));
Console.WriteLine("table row count before loop: " + tableRows.Count);
foreach (var row in tableRows) {
if (row.Text.ToString().Contains("WSC"))
{
tableRows.Remove(row); //exception thrown here
}
}
感谢您提供的任何帮助
答案 0 :(得分:3)
并非所有暗示IList的东西都是可编辑的。最简单的解决方案是使用Linq构建过滤器并在其上执行ToList()。
IList<IWebElement> tableRows;
tableRows = FindElement(By.XPath("//div[@ui-grid='vm.gridWoodSmokeViolations']")).FindElements(By.XPath("//div[@role='row']"));
Console.WriteLine("table row count before loop: " + tableRows.Count);
tableRows = tableRows.Where(row=> !row.Text.ToString().Contains("WSC")).ToList();