gpt4 book ai didi

java - 如何迭代列出的元素数组,每次完成一组操作

转载 作者:行者123 更新时间:2023-12-02 01:39:14 30 4
gpt4 key购买 nike

我有一个由元素组成的表格网格数组,每个元素都链接到一条记录,我想列出元素,然后创建一个指令 block ,每次测试都会选择 i+0 并迭代直到到达末尾数组的

我已经创建了数组,并且能够从元素中打印出 .text 列表,但是如果不每次都键入指令 block 并使用 i 从页面写入单击事件,我就无法让它迭代数组+0 -*。

List<WebElement> allRecords = driver.findElements(By.xpath("//*[contains(@id,'gridBodyTable_primaryField')]"));
List<String> all_elements = new ArrayList<>();
int i; for (i = 0; i < allRecords.size(); i++) {
all_elements.add(allRecords.get(i).getText());
allRecords.get(i).click();
exitiframe();
enteriframe("contentIFrame1");
elementPresentFail(By.cssSelector("[id$=fieldChangeIndicatorImage]"));
exitiframe();
driver.findElement(By.id("Tabnav_accts-main")).click();
enteriframe("contentIFrame0");
allRecords.get(i+1).click();
exitiframe();
enteriframe("contentIFrame1");
elementPresentFail(By.cssSelector("[id$=fieldChangeIndicatorImage]"));
exitiframe();
driver.findElement(By.id("Tabnav_accts-main")).click();
enteriframe("contentIFrame0");
allRecords.get(i+2).click();
exitiframe();
enteriframe("contentIFrame1");
elementPresentFail(By.cssSelector("[id$=fieldChangeIndicatorImage]"));
exitiframe();
driver.findElement(By.id("Tabnav_accts-main")).click();
}

我希望能够从 xpath“包含”中列出位于网格中的元素,然后按顺序选择它们,完成同一页面上提供的操作,选择下一个列出的记录,直到结束列表。

目前我必须一次又一次地复制操作 block ,如果这可以更符合逻辑并且更紧凑一点会更好。

谢谢。

最佳答案

我推荐以下方法。这将确保循环适用于所有元素,并且您不会收到 StaleElementException。

int recordsCount = driver.findElements(By.xpath("//*[contains(@id,'gridBodyTable_primaryField')]")).size();
for (int i = 0; i < recordsCount; i++) {
allRecords = driver.findElements(By.xpath("//*[contains(@id,'gridBodyTable_primaryField')]"));
all_elements.add(allRecords.get(i).getText());
allRecords.get(i).click();
exitiframe();
enteriframe("contentIFrame1");
elementPresentFail(By.cssSelector("[id$=fieldChangeIndicatorImage]"));
exitiframe();
driver.findElement(By.id("Tabnav_accts-main")).click();
enteriframe("contentIFrame0");
}

关于java - 如何迭代列出的元素数组,每次完成一组操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57498313/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com