我在这里所做的是获取下表的内容并将其存储在名为tableElems的列表中

 0  1  2  3  4  5  6  7  8
 9  10 11 12 13 14 15 16 17
 18 19 20 21 22 23 24 25 26
 27 28 29 30 31 32 33 34 35

List<WebElement> tableElems = chrome.findElements(By.tagName("td"));


从该表中,我想以从第4个元素(表中的#3)开始的图案进行打印,并且要打印3个元素,然后跳过下一个6,打印下一个3,然后跳过下一个6,依此类推。 。

所以我的预期输出是3 4 5 12 13 14 21 22 23 30 31 32

我最初的尝试以

for (int i = 3; i<tableElems.size(); i++) {
            if(i % 3 == 0) { System.out.println(tableElems.get(i).getText()); }
            else if(i % 4 == 0) { System.out.println(tableElems.get(i).getText()); }
            else if(i % 5 == 0) { System.out.println(tableElems.get(i).getText()); }
        }


显然这是错误的,因为我的% 3将打印第9个元素,% 4将打印第16个元素,依此类推。

我在解决这个问题时遇到了麻烦,因此请您向我提出正确的方向!

最佳答案

尝试这个:

for (int i = 3; i<tableElems.size(); i++) {
    if (((i / 3) % 3) == 1) { System.out.println(tableElems.get(i).getText()); }
}


考虑将其分为9个组,然后将9个组进一步分为3个组。在第二个3组(即3-5、12-14)上,它将显示。

10-04 14:51