繁体   English   中英

断言者返回多个元素

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM