【问题标题】:How to start iteration from outer loop?如何从外循环开始迭代?
【发布时间】:2021-08-09 05:36:53
【问题描述】:

我想在 selenium 中迭代两个嵌套循环。在下面的示例中,一旦第一次迭代完成,我想从“outerLoop: for(long l:placeHolder)”而不是“innerLoop:for(String m:nickName)”开始下一次迭代。我不希望我的内循环完全完成然后转到外循环。我希望我的外循环从数组“placeHolder”的索引 1 处取值,我希望我的内循环从数组“nickName”的索引 1 处取值,然后返回到外循环从数组“placeHolder”的索引 2 处取值" 并从数组 "nickName" 中获取 index2 处的值。下面是我的代码。

long[] placeHolder = {12345678901L, 123525212101L};
String[] nickName = {"MyName","YourName"};

outerLoop: for(long l : placeHolder) {
     innerLoop: for(String m: nickName) {
  driver.findElement(By.xpath("//input[@name= 'ctl00$BodyContentPlaceHolder$"+ l +"TXT']")).sendKeys(m);

     }
}

【问题讨论】:

  • 看看break
  • 我做了,但没用。

标签: java arrays selenium loops selenium-webdriver


【解决方案1】:

如果你不想遍历内部循环,那么就不要有内部循环

for (int i = 0; i < placeHolder.length && i < nickName.length; i++) {
    String output = "placeHolder=" + placeHolder[i] + ",name=" + nickName[i];
    System.out.println (output);
}

你的解释有点不清楚,所以也许我错过了什么?

【讨论】:

  • nickName 是字符串数据类型,placeHolder 是长数据类型。
  • 是的,我的代码没问题,尽管您的代码 sn-p 没有说明您将如何使用数组中的数据。我的代码对你有用吗?
  • 不。它没有。所以我的用例是我有一行代码使用两个变量。我赋予变量的值来自两个数组。因此,对于变量 1,我必须在索引 [0] 处从 Array1 获取值,对于变量 2,我必须在 Array2 的索引 [0] 处从 Array2 获取值。这两个变量都将进入一行代码。请让我知道哪一部分不清楚。
  • 我已经编辑了我的答案,希望能把事情弄清楚。
猜你喜欢
  • 2019-03-30
  • 2018-04-21
  • 1970-01-01
  • 1970-01-01
  • 2023-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-18
相关资源
最近更新 更多