for循环中的Web元素

时间:2017-07-23 10:03:43

标签: java selenium qwebelement

for (int i = 1; i >=0 ; i--) {
    driver.findElement(By.cssSelector("form.form-inline > input:nth-of-type(1)")).sendKeys(n);
    Select option = new Select(driver.findElement(By.cssSelector("select")));
    option.selectByValue("MULTIPLICATION");
    driver.findElement(By.cssSelector("form.form-inline > input:nth-of-type(2)")).sendKeys(String.valueOf(i));
    driver.findElement(By.id("gobutton")).click();
    Thread.sleep(5000);

    /** vvv Line Below vvv **/
    String q =(driver.findElement(By.className("ng-binding")).getText());
}

我突出显示的是每次循环时都会改变。 如何将文本每次保存到不同的字符串?

2 个答案:

答案 0 :(得分:1)

创建ArrayList String,例如

List<String> list = new ArrayList<>();
for(int i=1;i>=0;i--){
    //do stuff
    list.add((driver.findElement(By.className("ng-binding")).getText()));
}
for(String s : list){
    System.out.println(s);
}

答案 1 :(得分:1)

通过声明String列表然后在其中添加文本,您可以执行此操作:

List<String> textList = new ArrayList<>();
for (int i = 1; i >=0 ; i--) {
driver.findElement(By.cssSelector("form.form-inline > input:nth-of-type(1)")).sendKeys(n);
Select option = new Select(driver.findElement(By.cssSelector("select")));
option.selectByValue("MULTIPLICATION");
driver.findElement(By.cssSelector("form.form-inline > input:nth-of-type(2)")).sendKeys(String.valueOf(i));
driver.findElement(By.id("gobutton")).click();
Thread.sleep(5000);

/** vvv Line Below vvv **/
String q =(driver.findElement(By.className("ng-binding")).getText());
textList.add(q);
}

然后你可以通过运行循环来获取列表元素。 textList.get(0)将返回列表第0个索引处的字符串元素。

希望它对你有所帮助。