[英]Asserter returning more than one element
我正在尝试制作一个同时返回两个元素的方法。 这是我的代码:
this.Wait.Until(ExpectedConditions.ElementExists(By.Id("mm_date_8")));
this.Wait.Until(ExpectedConditions.ElementExists(By.Id("dd_date_8")));
return this.Driver.FindElements(By.Id("mm_date_8"), By.Id("dd_date_8"));
但是我不知道该怎么做...能帮我吗。 先感谢您!!!
我不确定以下语法是否正确。
return this.Driver.FindElements(By.Id("mm_date_8"), By.Id("dd_date_8"));
相反,您可以尝试执行的操作如下。
List<IWebElement> elements = new List<IWebElement>();
AddElementsToList(elements, this.Driver.FindElements(By.Id("mm_date_8"));
AddElementsToList(elements, this.Driver.FindElements(By.Id("dd_date_8"));
// now in your calling method you can easily index list.
return elements;
public void AddElementsToList(List<IWebElement> elementList, IEnumberable<IWebElement> elementEnumerable)
{
if (elementEnumerable != null && elementEnumerable.Any())
{
elementList.AddRange(elementEnumerable);
}
}
请注意,我假设FindElements的输出是IEnumerable。 但是,如果是其他类型的集合,这个想法仍然保持不变。
如果您必须知道哪个元素属于哪个ID,则无需创建列表即可创建一个
Dictionary<string, IWebElement>
字符串将是您的idKey。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.