示例代码是这样的(这是最近向我询问的面试问题)
列表linkElements = driver.findElements(By.tagName(“a”));
解决方法:
List表示对象的有序列表,这意味着您可以按特定顺序访问List的元素,也可以通过索引访问.您还可以多次向List添加相同的元素. List允许使用null元素,并且List中可以包含许多null对象
您将逐个获得特定顺序的所有结果.它还允许您添加重复项.我们的结果可能有重复,主要是我们在自动化中需要的,但如果您的要求不同而且您不需要重复,那么您可以使用其他集合类型.如果您使用set,那么它将不允许重复,并且它是对象的无序表示.
我们使用List,因为当我们使用findElements()而不是findElement()时,我们期望locator将返回超过1个元素(不是在每种情况或场景中).因此,使用List是一个很好的做法,因此我们的数据以有序的方式保存在列表中,以便我们可以正确使用它们.
一般来说,我以下面的方式使用List: –
List<WebElement> allOptions = dropDown.findElements(By."OUR Locator");
for ( WebElement we: allOptions) {
dropDown.sendKeys( Keys.DOWN ); //simulate visual movement
sleep(250);
if ( we.getText().contains( text ) ) select.selectByVisibleText("Value1");
}
您也可以通过多种方式参考以下内容: –
这里有更详细的版本,可以帮助您确定何时使用列表: –
http://java67.blogspot.in/2013/01/difference-between-set-list-and-map-in-java.html
添加和访问元素
要向List添加元素,请调用其add()方法.此方法继承自Collection接口.这里有一些例子:
List listA = new ArrayList();
listA.add("element 1");
listA.add("element 2");
listA.add("element 3");
您可以通过索引访问它们,如下所示: –
String element0 = listA.get(0);
String element1 = listA.get(1);
String element3 = listA.get(2);
System.out.println(element0“”element1“”element3);
希望它能帮到你:)