返回多个元素的断言者
Asserter returning more than one element
我正在尝试制作一种方法,同时 returns 两个元素。这是我的代码:
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, IEnumerable<IWebElement> elementEnumerable)
{
if (elementEnumerable != null && elementEnumerable.Any())
{
elementList.AddRange(elementEnumerable);
}
}
请注意,我假设 FindElements
的输出是 IEnumerable
。但如果是其他类型的collection,思路还是一样
如果您必须知道哪个元素属于哪个 ID,您可以创建一个
而不是创建列表
Dictionary<string, IWebElement>
其中字符串是您的 idKey
。
我正在尝试制作一种方法,同时 returns 两个元素。这是我的代码:
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, IEnumerable<IWebElement> elementEnumerable)
{
if (elementEnumerable != null && elementEnumerable.Any())
{
elementList.AddRange(elementEnumerable);
}
}
请注意,我假设 FindElements
的输出是 IEnumerable
。但如果是其他类型的collection,思路还是一样
如果您必须知道哪个元素属于哪个 ID,您可以创建一个
而不是创建列表Dictionary<string, IWebElement>
其中字符串是您的 idKey
。