elg*_*ato 4 .net c# linq selenium list
我试图将以下循环更改为 LINQ 表达式,但未成功:
int index = 0;
IList<IWebElement> divNota = new List<IWebElement>();
foreach (IWebElement element in tablaNotas)
{
divNota.Add(element.FindElement(By.Id("accion-1-celda-0-" + index + "-0")));
index++;
}
Run Code Online (Sandbox Code Playgroud)
我尝试使用
IList <IWebElement> divNota = tablaNotas.Select(element => element.FindElement(By.Id("accion-1-celda-0-"+ tablaNotas.IndexOf(element) + "-0"))).ToList();
Run Code Online (Sandbox Code Playgroud)
但tablaNotas.IndexOf(element)
总是返回-1
,意思element
是里面没有找到tablaNotas
。
该字符串"accion-1-celda-0-"+ tablaNotas.IndexOf(element) + "-0"
旨在更改为
"accion-1-celda-0-"+ 1 + "-0"
"accion-1-celda-0-"+ 2 + "-0"
"accion-1-celda-0-"+ 3 + "-0"
...
"accion-1-celda-0-"+ n + "-0"
Run Code Online (Sandbox Code Playgroud)
根据元素的索引
任何帮助表示赞赏
小智 5
在Linq
一些保留字中,例如Where
,FirstOrDefault
为您的查询创建一个条件,Select
保留字可以创建您希望该Select
方法将方法应用于元素的对象。这是一种修改集合(例如数组)中元素的优雅方式。此方法接收匿名函数作为参数——通常指定为 lambda 表达式。
示例:让我们看一个程序,其中 Select 扩展方法应用于字符串数组。分配了一个数组类型的局部变量并使用了三个字符串文字。我们在这个数组引用上使用 Select。
基本方法在这里:
public static System.Collections.Generic.IEnumerable<TResult> Select<TSource,TResult> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int,TResult> selector);
Run Code Online (Sandbox Code Playgroud)
现在!对于您搜索的这个问题,您可以使用以下代码:
var divNotaResult = list
.Select((data, index) => data.FindElement(By.Id("accion-1-celda-0-" + index + "-0")))
.ToList();
Run Code Online (Sandbox Code Playgroud)
在Select
方法中,foreach
我们在function
data和index 中有两个对象。
将data
在环路中的每个数据,并且index
具有循环计数。
归档时间: |
|
查看次数: |
129 次 |
最近记录: |