我在页面中有以下WebElement列表
@FindBy(xpath="a")
private List<WebElement> generalList ;
@FindBy(xpath="b")
private List<WebElement> eventList ;
@FindBy(xpath="c")
private List<WebElement> additionalList ;
我想迭代上面的每个列表项并通过循环输入值
实施例
通才
姓氏:姓氏(输入字段)
名字:名字(输入字段)
AdditionalList
地址:地址(输入字段)
Zip :11423(输入字段)
我试过以下
generalList.stream().forEach(elem -> elem.sendkeys("last name"," First Name"));
在每个输入字段中输入lastnameFirstname。
姓氏:lastnameFirstname
名字:lastnameFirstname
答案 0 :(得分:1)
您的代码已经迭代了列表并在每个元素中输入数据。
老实说,这不是一个很好的方法。我猜你可能认为这更有效率或其他什么,但它只是让它更混乱。只需.sendKeys()
到姓氏,然后是名字,依此类推。这样做可以让你更清楚自己想要做什么。
答案 1 :(得分:0)
实际上,您正在循环浏览WebElement并在sendKeys()
期间提供相同的值,这就是为什么您获得绝对正确的相同输出的原因。您需要循环遍历要在输入字段上设置的值,如下所示: -
String[] names = {"Last Name", "First Name"};
IntStream.range(0, names.length).forEach(idx -> generalList.get(idx).sendKeys(names[idx]));