我有我的 Selenium 代码,它可以提取列表中可用名称的列表。 现在我想存储与全局相同的名称以供以后使用。请帮忙。
我尝试过数组过程,它只对每一行提取 true,但不提取值。
List<WebElement> allText = driver.findElements(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"));
int total = allText.size();
System.out.println(total);
for(int i=3;i<=total;i++)
{
CaselevelSigningCMs =driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText();
System.out.println(CaselevelSigningCMs);
}
我应该得到如下名称:Ranjit Nyk、Sudhanva G....我必须在其他类/方法的其他页面中验证这些名称。 CaselevelSigningCMs 是一个全局变量,它仅提取单个项目。我需要定义为全局的类似数组,以便它可以提取多个项目。
CaselevelSigningCMs =driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3 ]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText();
最佳答案
看看这个 String CaselevelSigningCMs 是如何定义的。就像 ArrayList 一样
假设所使用的字符串是在类似的地方定义的
public String CaselevelSigningCMs = "";
类似地定义ArrayList
public List<String> collectedItems=new ArrayList<>();
在循环中添加获取每个元素的文本,类似于
collectedItems.add(driver.findElement(By.xpath("//*[@id='pnlLeftMenu']/table/tbody/tr/td[2]/table[2]/tbody/tr[3]/td/table/tbody/tr"+"["+i+"]"+"/td[2]")).getText());
关于java - 如何存储列表中多个项目的全局数组以供以后使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56746908/