gpt4 book ai didi

java - 有没有更好的方法用 Java 编写此代码(用于 Web 表处理)?

转载 作者:行者123 更新时间:2023-11-30 04:39:43 25 4
gpt4 key购买 nike

我有两种方法,其作用相同。不幸的是,选项二有时会起作用(十次中有 5 次)...选项一很少起作用(十次中有 2 次)...是否有更好的方法来编写此代码...

一:

public static void clickOnLinkinWebTable(WebElement webTable, String lookUpValue) throws MyException {
for (WebElement row : webTable.findElements(By.xpath("tr"))) {
for (WebElement col : row.findElements(By.xpath("td")))
if (col.getText().equals(lookUpValue)) {
col.findElement(By.partialLinkText(lookUpValue)).click();
return;
}

}
}

两个:

public static void clickOnLinkinWebTable(String tableXpathRow, String lookUpValue) throws MyException {
int row_cnt = driver.findElements(By.xpath(tableXpathRow)).size();
for (int row_num = 1; row_num <= row_cnt; row_num++) {
int col_cnt = driver.findElements(By.xpath(tableXpathRow+"["+row_num+"]"+"/td")).size();
for (int col_num = 1; col_num <= col_cnt; col_num++) {
String cellValue = driver.findElement(By.xpath(tableXpathRow+"["+row_num+"]/td["+col_num+"]")).getText();
if(lookUpValue.equalsIgnoreCase(cellValue)){
WebElement elementLink = driver.findElement(By.xpath(tableXpathRow+"["+row_num+"]/td["+col_num+ "]/a"));
elementLink.click();
return;
}
}
}
}

有时有效/很少有效:我正在测试套件中运行测试。该方法在测试套件中(同一页面)至少被调用 15 次。调用此方法时有时有效,有时无效。

最佳答案

可以使用查找的 xpath 来单击 webtable 链接。

driver.findElement(By.xpath(path)).click();

哪里

path="//td[contains(text(),lookupvalue)]"

(这可以通过字符串连接来完成,如下所示)

String s="//td[contains(text(), ";
String qt=")]";
String path=(s.concat(lookupvalue)).concat(qt);

希望这有帮助。

关于java - 有没有更好的方法用 Java 编写此代码(用于 Web 表处理)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12600029/

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